ruby-changes:6587
From: nobu <ko1@a...>
Date: Thu, 17 Jul 2008 13:13:58 +0900 (JST)
Subject: [ruby-changes:6587] Ruby:r18103 (mvm): * ruby.c (process_options): set script_name directly and translate
nobu 2008-07-17 13:13:41 +0900 (Thu, 17 Jul 2008) New Revision: 18103 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18103 Log: * ruby.c (process_options): set script_name directly and translate before frozen. * ruby.c (set_arg0): now setter of VM specific variable is called for the pointer instead of the key. Modified files: branches/mvm/ChangeLog branches/mvm/ruby.c Index: mvm/ChangeLog =================================================================== --- mvm/ChangeLog (revision 18102) +++ mvm/ChangeLog (revision 18103) @@ -1,3 +1,11 @@ +Thu Jul 17 13:13:37 2008 Nobuyoshi Nakada <nobu@r...> + + * ruby.c (process_options): set script_name directly and translate + before frozen. + + * ruby.c (set_arg0): now setter of VM specific variable is called for + the pointer instead of the key. + Thu Jul 17 06:09:48 2008 Nobuyoshi Nakada <nobu@r...> * dir.c (get_cwd_fd): support for platforms which has fchdir but no Index: mvm/ruby.c =================================================================== --- mvm/ruby.c (revision 18102) +++ mvm/ruby.c (revision 18103) @@ -1062,11 +1062,12 @@ } } - ruby_script(opt->script); + opt->script_name = rb_tainted_str_new2(opt->script); + *rb_vm_specific_ptr(rb_vmkey_progname) = opt->script_name; #if defined DOSISH || defined __CYGWIN__ - translate_char(RSTRING_PTR(*ruby_vm_specific_ptr(vm, rb_vmkey_progname)), '\\', '/'); + translate_char(RSTRING_PTR(opt->script_name), '\\', '/'); #endif - opt->script_name = rb_str_new4(*ruby_vm_specific_ptr(vm, rb_vmkey_progname)); + OBJ_FREEZE(opt->script_name); opt->script = RSTRING_PTR(opt->script_name); ruby_vm_set_argv(vm, argc, argv); process_sflag(vm, opt); @@ -1395,10 +1396,9 @@ } } #endif - *rb_vm_specific_ptr((int)var) = rb_obj_freeze(rb_tainted_str_new(s, i)); + *var = rb_obj_freeze(rb_tainted_str_new(s, i)); } -DEPRECATED(void ruby_script(const char *name)); void ruby_script(const char *name) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/