diff options
Diffstat (limited to 'transcode.c')
-rw-r--r-- | transcode.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/transcode.c b/transcode.c index 72e26f6df2..f925daa584 100644 --- a/transcode.c +++ b/transcode.c @@ -2005,6 +2005,14 @@ make_econv_exception(rb_econv_t *ec) StringValueCStr(dumped), ec->last_error.source_encoding, ec->last_error.destination_encoding); + if (strcmp(ec->last_error.source_encoding, + ec->source_encoding_name) != 0 || + strcmp(ec->last_error.destination_encoding, + ec->destination_encoding_name) != 0) { + rb_str_catf(mesg, " in conversion from %s to %s", + ec->source_encoding_name, + ec->destination_encoding_name); + } exc = rb_exc_new3(rb_eUndefinedConversionError, mesg); idx = rb_enc_find_index(ec->last_error.source_encoding); if (0 <= idx) |