summaryrefslogtreecommitdiff
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
commit59f4ea73873bd6f456ed049f48de940fbb0d9f23 (patch)
treed4cccbca633a17f45f9de25171a2934148c46e5d /ruby.c
parent615543bf1f7d4bf1edad995a3badc2552d8913a2 (diff)
* ruby.c (set_arg0): fill argv other than the first with an empty
string instead of NULL. git-svn-id: svn+ssh://ci.ruby-lang.org/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 32278888ee..1fa10e1f00 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
}