ruby-changes:11812
From: nobu <ko1@a...>
Date: Sun, 17 May 2009 08:56:04 +0900 (JST)
Subject: [ruby-changes:11812] Ruby:r23467 (trunk): * ruby.c (set_arg0): get rids of overrun.
nobu 2009-05-17 08:55:46 +0900 (Sun, 17 May 2009) New Revision: 23467 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23467 Log: * ruby.c (set_arg0): get rids of overrun. Modified files: trunk/ChangeLog trunk/ruby.c trunk/version.h Index: ChangeLog =================================================================== --- ChangeLog (revision 23466) +++ ChangeLog (revision 23467) @@ -1,3 +1,7 @@ +Sun May 17 08:55:44 2009 Nobuyoshi Nakada <nobu@r...> + + * ruby.c (set_arg0): get rids of overrun. + Sat May 16 18:38:32 2009 Kouhei Sutou <kou@c...> * lib/rss/parser.rb: add nil check. Index: version.h =================================================================== --- version.h (revision 23466) +++ version.h (revision 23467) @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_RELEASE_DATE "2009-05-16" +#define RUBY_RELEASE_DATE "2009-05-17" #define RUBY_PATCHLEVEL -1 #define RUBY_BRANCH_NAME "trunk" @@ -8,7 +8,7 @@ #define RUBY_VERSION_TEENY 1 #define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_MONTH 5 -#define RUBY_RELEASE_DAY 16 +#define RUBY_RELEASE_DAY 17 #include "ruby/version.h" Index: ruby.c =================================================================== --- ruby.c (revision 23466) +++ ruby.c (revision 23467) @@ -124,7 +124,7 @@ int argc; char **argv; #if !defined(PSTAT_SETCMD) && !defined(HAVE_SETPROCTITLE) - int len; + size_t len; #endif } origarg; @@ -1623,7 +1623,7 @@ extern char **environ; #endif -static int +static size_t get_arglen(int argc, char **argv) { char *s = argv[0]; @@ -1686,7 +1686,7 @@ #else if (i >= origarg.len) { - i = origarg.len; + i = origarg.len - 1; } memcpy(origarg.argv[0], s, i); @@ -1823,24 +1823,7 @@ void ruby_sysinit(int *argc, char ***argv) { -#if defined(__APPLE__) && (defined(__MACH__) || defined(__DARWIN__)) - int i, n = *argc, len = 0; - char **v1 = *argv, **v2, *p; - - for (i = 0; i < n; ++i) { - len += strlen(v1[i]) + 1; - } - v2 = malloc((n + 1)* sizeof(char*) + len); - p = (char *)&v2[n + 1]; - for (i = 0; i < n; ++i) { - int l = strlen(v1[i]); - memcpy(p, v1[i], l + 1); - v2[i] = p; - p += l + 1; - } - v2[n] = 0; - *argv = v2; -#elif defined(_WIN32) +#if defined(_WIN32) void rb_w32_sysinit(int *argc, char ***argv); rb_w32_sysinit(argc, argv); #endif -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/