ruby-changes:2351
From: ko1@a...
Date: 9 Nov 2007 10:11:03 +0900
Subject: [ruby-changes:2351] ko1 - Ruby:r13842 (trunk): * ruby.c (set_arg0): fix breaking environ bugs.
ko1 2007-11-09 10:10:06 +0900 (Fri, 09 Nov 2007)
New Revision: 13842
Modified files:
trunk/ChangeLog
trunk/ruby.c
Log:
* ruby.c (set_arg0): fix breaking environ bugs.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ruby.c?r1=13842&r2=13841
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13842&r2=13841
Index: ChangeLog
===================================================================
--- ChangeLog (revision 13841)
+++ ChangeLog (revision 13842)
@@ -1,3 +1,7 @@
+Fri Nov 9 10:05:54 2007 Koichi Sasada <ko1@a...>
+
+ * ruby.c (set_arg0): fix breaking environ bugs.
+
Fri Nov 9 07:26:04 2007 Yukihiro Matsumoto <matz@r...>
* random.c: update MT URL.[ruby-core:13305].
Index: ruby.c
===================================================================
--- ruby.c (revision 13841)
+++ ruby.c (revision 13842)
@@ -1173,7 +1173,7 @@
static void
set_arg0(VALUE val, ID id)
{
- char *s;
+ char *s, *t;
long i;
if (origarg.argv == 0)
@@ -1204,13 +1204,16 @@
}
memcpy(origarg.argv[0], s, i);
- s = origarg.argv[0] + i;
- *s = '\0';
- if (i + 1 < origarg.len) memset(s + 1, ' ', origarg.len - i - 1);
+ t = origarg.argv[0] + i;
+ *t = '\0';
+
+ if (i + 1 < origarg.len) memset(t + 1, ' ', origarg.len - i - 1);
+
{
int j;
- for (j = 1; j < origarg.argc; j++)
- origarg.argv[i] = s;
+ for (j = 1; j < origarg.argc; j++) {
+ origarg.argv[j] = t;
+ }
}
#endif
rb_progname = rb_tainted_str_new(s, i);
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml