diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-21 05:32:12 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-21 05:32:12 +0000 |
commit | f5eb90f3c27a42ff61815e31ed4328f2450ba0b2 (patch) | |
tree | ff4bdbbf1379168b438cb94b48b6f0c1425ae0eb | |
parent | 91625011c2b7b8fd568ba8ac7d621f5527a6b24d (diff) | |
download | ruby-f5eb90f3c27a42ff61815e31ed4328f2450ba0b2.tar.gz |
* transcode.c (str_transcode): initialize transcoder in
rb_transcoding. [ruby-dev:33234]
* transcode_data.h (rb_transcoding): transcoder constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | transcode.c | 2 | ||||
-rw-r--r-- | transcode_data.h | 2 |
3 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Mon Jan 21 14:32:10 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * transcode.c (str_transcode): initialize transcoder in + rb_transcoding. [ruby-dev:33234] + + * transcode_data.h (rb_transcoding): transcoder constified. + Mon Jan 21 12:50:02 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * eval.c, gc.c (setjmp): sigsetjmp is a macro on cygwin. diff --git a/transcode.c b/transcode.c index e36e6c1461..370bd06c33 100644 --- a/transcode.c +++ b/transcode.c @@ -311,6 +311,8 @@ 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))) { diff --git a/transcode_data.h b/transcode_data.h index 34f298853f..f025b4e6fe 100644 --- a/transcode_data.h +++ b/transcode_data.h @@ -59,7 +59,7 @@ typedef struct byte_lookup { /* dynamic structure, one per conversion (similar to iconv_t) */ /* may carry conversion state (e.g. for iso-2022-jp) */ typedef struct rb_transcoding { - struct rb_transcoder *transcoder; + const struct rb_transcoder *transcoder; VALUE ruby_string_dest; /* the String used as the conversion destination, or NULL if something else is being converted */ unsigned char *(*flush_func)(struct rb_transcoding*, int, int); |