summaryrefslogtreecommitdiff
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
commit44fcb03b2db8ae19912c34afd6f322f21e6cce5d (patch)
treea36d1a9660e2aac259d03ed3af06989b63877436
parente03d60ddff663b2ed374c85efdf97e3d0a5bbd70 (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/branches/ruby_1_8@10731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ruby.c17
2 files changed, 11 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 5a3e5b0c1e..b12d5e3d2e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Aug 16 11:09:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ruby.c (set_arg0): fill argv other than the first with an empty
+ string instead of NULL.
+
Wed Aug 16 11:08:00 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.h: removed an excess macro. fixed: [ruby-dev:29258]
diff --git a/ruby.c b/ruby.c
index 7979051556..39b209d9e4 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1065,18 +1065,13 @@ set_arg0(val, 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
}