summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
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 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
}