summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-26 23:08:38 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-26 23:08:38 +0000
commitfe0446cc01423dfb84d1b350b8cddadb55d11a1d (patch)
tree67799993c362ff73f048a1292da68c3a00517f90 /ruby.c
parentd95d20903361bbdb62cec068ab6afd7e850b1ce5 (diff)
* ruby.c (ruby_set_argv): ARGV should be locale encoding.
[ruby-list:44861] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ruby.c b/ruby.c
index 1c67ce262c..7301f1ef50 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1457,6 +1457,7 @@ void
ruby_set_argv(int argc, char **argv)
{
int i;
+ rb_encoding *enc = rb_locale_encoding();
VALUE av = rb_argv;
#if defined(USE_DLN_A_OUT)
@@ -1468,6 +1469,7 @@ ruby_set_argv(int argc, char **argv)
rb_ary_clear(av);
for (i = 0; i < argc; i++) {
VALUE arg = rb_tainted_str_new2(argv[i]);
+ rb_enc_associate(arg, enc);
OBJ_FREEZE(arg);
rb_ary_push(av, arg);