summaryrefslogtreecommitdiffstats
path: root/ruby.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-08-16 02:11:21 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-08-16 02:11:21 +0000
commit1bf09168f7c966387086a771a13ee3218df25766 (patch)
treed4cccbca633a17f45f9de25171a2934148c46e5d /ruby.c
parent0969ed18163ef441deed536061d58e9d097bd000 (diff)
downloadruby-1bf09168f7c966387086a771a13ee3218df25766.tar.gz
ruby-1bf09168f7c966387086a771a13ee3218df25766.tar.xz
ruby-1bf09168f7c966387086a771a13ee3218df25766.zip
* ruby.c (set_arg0): fill argv other than the first with an empty
string instead of NULL. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/ruby.c b/ruby.c
index 32278888e..1fa10e1f0 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1079,18 +1079,13 @@ set_arg0(VALUE val, ID id)
if (i >= len) {
i = len;
- memcpy(origargv[0], s, i);
- origargv[0][i] = '\0';
- }
- else {
- memcpy(origargv[0], s, i);
- s = origargv[0]+i;
- *s++ = '\0';
- while (++i < len)
- *s++ = ' ';
- for (i = 1; i < origargc; i++)
- origargv[i] = 0;
}
+ memcpy(origargv[0], s, i);
+ s = origargv[0] + i;
+ *s = '\0';
+ if (++i < len) memset(s + 1, ' ', len - i);
+ for (i = 1; i < origargc; i++)
+ origargv[i] = s;
rb_progname = rb_tainted_str_new2(origargv[0]);
#endif
}