diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | transcode.c | 5 |
2 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Fri Mar 5 19:36:12 2010 NARUSE, Yui <naruse@ruby-lang.org> + + * transcode.c (econv_opts): set :undef => :replace when + :replace is given and :invalid is not given. [ruby-dev:40554] + Fri Mar 5 17:51:09 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> * io.c (pipe_open): suppressed a warning. diff --git a/transcode.c b/transcode.c index d511547916..9d6a886850 100644 --- a/transcode.c +++ b/transcode.c @@ -2394,6 +2394,11 @@ econv_opts(VALUE opt) rb_raise(rb_eArgError, "unknown value for undefined character option"); } + v = rb_hash_aref(opt, sym_replace); + if (!NIL_P(v) && !(ecflags & ECONV_INVALID_REPLACE)) { + ecflags |= ECONV_UNDEF_REPLACE; + } + v = rb_hash_aref(opt, sym_xml); if (!NIL_P(v)) { if (v==sym_text) { |