1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ruby.c (set_arg0, ruby_prog_init): freeze $0. a patch from Keita

Yamaguchi <keita.yamaguchi at gmail.com>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-06-26 15:00:16 +00:00
parent 9569facfdc
commit c1ed3956a7
2 changed files with 11 additions and 4 deletions

View file

@ -1,3 +1,8 @@
Fri Jun 27 00:00:14 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c (set_arg0, ruby_prog_init): freeze $0. a patch from Keita
Yamaguchi <keita.yamaguchi at gmail.com>.
Thu Jun 26 22:07:54 2008 Tanaka Akira <akr@fsij.org>
* process.c: include sys/resource.h if HAVE_SYS_RESOURCE_H is defined.

10
ruby.c
View file

@ -1044,6 +1044,7 @@ set_arg0(val, id)
VALUE val;
ID id;
{
VALUE progname;
char *s;
long i;
#if !defined(PSTAT_SETCMD) && !defined(HAVE_SETPROCTITLE)
@ -1068,10 +1069,10 @@ set_arg0(val, id)
j.pst_command = s;
pstat(PSTAT_SETCMD, j, i, 0, 0);
}
rb_progname = rb_tainted_str_new(s, i);
progname = rb_tainted_str_new(s, i);
#elif defined(HAVE_SETPROCTITLE)
setproctitle("%.*s", (int)i, s);
rb_progname = rb_tainted_str_new(s, i);
progname = rb_tainted_str_new(s, i);
#else
if (len == 0) {
char *s = origargv[0];
@ -1106,8 +1107,9 @@ set_arg0(val, id)
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]);
progname = rb_tainted_str_new2(origargv[0]);
#endif
rb_progname = rb_obj_freeze(progname);
}
void
@ -1115,7 +1117,7 @@ ruby_script(name)
const char *name;
{
if (name) {
rb_progname = rb_tainted_str_new2(name);
rb_progname = rb_obj_freeze(rb_tainted_str_new2(name));
ruby_sourcefile = rb_source_filename(name);
}
}