summaryrefslogtreecommitdiffstats
path: root/transcode.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-21 05:36:16 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-21 05:36:16 +0000
commitfde3e70dfff553626d12aa875e579d272855b2e9 (patch)
tree988dd41e0ba5bfe3546c9f73934322a4beb7c62b /transcode.c
parentae3327d1d42aa812385c852f25b74f30e9a94fa3 (diff)
downloadruby-fde3e70dfff553626d12aa875e579d272855b2e9.tar.gz
ruby-fde3e70dfff553626d12aa875e579d272855b2e9.tar.xz
ruby-fde3e70dfff553626d12aa875e579d272855b2e9.zip
* transcode.c (str_transcode): initialize transcoder in
rb_transcoding. [ruby-dev:33234] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode.c')
-rw-r--r--transcode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/transcode.c b/transcode.c
index 370bd06c3..1b8e8ee9e 100644
--- a/transcode.c
+++ b/transcode.c
@@ -311,14 +311,14 @@ str_transcode(int argc, VALUE *argv, VALUE *self)
return -1;
}
- my_transcoding.transcoder = my_transcoder;
-
while (!final_encoding) { /* loop for multistep transcoding */
/* later, maybe use smaller intermediate strings for very long strings */
if (!(my_transcoder = transcode_dispatch(from_e, to_e))) {
rb_raise(rb_eArgError, "transcoding not supported (from %s to %s)", from_e, to_e);
}
+ my_transcoding.transcoder = my_transcoder;
+
if (my_transcoder->preprocessor) {
fromp = sp = (unsigned char *)RSTRING_PTR(str);
slen = RSTRING_LEN(str);