summaryrefslogtreecommitdiffstats
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
commit0345b30ed9d12a0e5705e113f02ffe3dbb97a368 (patch)
tree67799993c362ff73f048a1292da68c3a00517f90 /ruby.c
parent797231ede271cca1c9952e3376edbb89bafa968d (diff)
downloadruby-0345b30ed9d12a0e5705e113f02ffe3dbb97a368.tar.gz
ruby-0345b30ed9d12a0e5705e113f02ffe3dbb97a368.tar.xz
ruby-0345b30ed9d12a0e5705e113f02ffe3dbb97a368.zip
* ruby.c (ruby_set_argv): ARGV should be locale encoding.
[ruby-list:44861] git-svn-id: http://svn.ruby-lang.org/repos/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 1c67ce262..7301f1ef5 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);