diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-18 18:32:24 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-18 18:32:24 +0000 |
commit | d2d90972d0e1133edbc3217da835baf88eed4875 (patch) | |
tree | d1f0ac8fd11e9f8e7ee149635f9b74fec25391d0 /transcode.c | |
parent | 9124b078bbbab26673b5f784bcf8c3811e9bfac9 (diff) | |
download | ruby-d2d90972d0e1133edbc3217da835baf88eed4875.tar.gz ruby-d2d90972d0e1133edbc3217da835baf88eed4875.tar.xz ruby-d2d90972d0e1133edbc3217da835baf88eed4875.zip |
* transcode.c (str_transcode0): fix: :xml option doesn't
work on str.encode([options]) form without default_internal.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode.c')
-rw-r--r-- | transcode.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/transcode.c b/transcode.c index b01d4a1f0..1997e310c 100644 --- a/transcode.c +++ b/transcode.c @@ -2457,7 +2457,8 @@ str_transcode0(int argc, VALUE *argv, VALUE *self, int ecflags, VALUE ecopts) if (argc == 0) { arg1 = rb_enc_default_internal(); if (NIL_P(arg1)) { - return -1; + if (!ecflags) return -1; + arg1 = rb_obj_encoding(str); } ecflags |= ECONV_INVALID_REPLACE | ECONV_UNDEF_REPLACE; } |