summaryrefslogtreecommitdiff
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
commit282e828c59b85f9deeafe81277c76480476d9b96 (patch)
tree988dd41e0ba5bfe3546c9f73934322a4beb7c62b /transcode.c
parentf5eb90f3c27a42ff61815e31ed4328f2450ba0b2 (diff)
* transcode.c (str_transcode): initialize transcoder in
rb_transcoding. [ruby-dev:33234] git-svn-id: svn+ssh://ci.ruby-lang.org/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 370bd06c33..1b8e8ee9e5 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);