diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-03 14:12:06 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-03 14:12:06 +0000 |
commit | f6441bf61cd4244aca5f465d262baf31b8872ac2 (patch) | |
tree | 57787744890d4ac6db62bbcf44b12e738f34eb62 /enc/trans/japanese.trans | |
parent | fce093432eadc191b3647f116a9c2f6748efda3e (diff) | |
download | ruby-f6441bf61cd4244aca5f465d262baf31b8872ac2.tar.gz |
* transcode_data.h (rb_transcoding): remove stateful field.
add state field.
(TRANSCODING_STATE): defined.
(rb_transcoder): add fields: state_size, state_init_func,
state_fini_func.
change rb_transcoding* argument to void*.
* transcode.c (transcode_restartable0): use TRANSCODING_STATE for
first arguments of transcoder functions.
(rb_transcoding_open_by_transcoder): initialize state field.
(rb_transcoding_close): finalize state field.
* tool/transcode-tblgen.rb: provide state size/init/fini.
* enc/trans/newline.trans (universal_newline_init): defined.
(fun_so_universal_newline): take void* as a state pointer.
(rb_universal_newline): provide state size/init/fini.
(rb_crlf_newline): ditto.
(rb_cr_newline): ditto.
* enc/trans/iso2022.trans (iso2022jp_init): defined.
(fun_si_iso2022jp_to_eucjp): take void* as a state pointer.
(fun_so_iso2022jp_to_eucjp): ditto.
(fun_so_eucjp_to_iso2022jp): ditto.
(iso2022jp_reset_sequence_size): ditto.
(finish_eucjp_to_iso2022jp): ditto.
(rb_ISO_2022_JP_to_EUC_JP): provide state size/init/fini.
(rb_EUC_JP_to_ISO_2022_JP): ditto.
* enc/trans/utf_16_32.trans (fun_so_from_utf_16be): take void* as a
state pointer.
(fun_so_to_utf_16be): ditto.
(fun_so_from_utf_16le): ditto.
(fun_so_to_utf_16le): ditto.
(fun_so_from_utf_32be): ditto.
(fun_so_to_utf_32be): ditto.
(fun_so_from_utf_32le): ditto.
(fun_so_to_utf_32le): ditto.
(rb_from_UTF_16BE): provide state size/init/fini.
(rb_to_UTF_16BE): ditto.
(rb_from_UTF_16LE): ditto.
(rb_to_UTF_16LE): ditto.
(rb_from_UTF_32BE): ditto.
(rb_to_UTF_32BE): ditto.
(rb_from_UTF_32LE): ditto.
(rb_to_UTF_32LE): ditto.
* enc/trans/japanese.trans (fun_so_eucjp2sjis): take void* as a state
pointer.
(fun_so_sjis2eucjp): ditto.
(rb_eucjp2sjis): provide state size/init/fini.
(rb_sjis2eucjp): provide state size/init/fini.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/trans/japanese.trans')
-rw-r--r-- | enc/trans/japanese.trans | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/enc/trans/japanese.trans b/enc/trans/japanese.trans index 279957b972..64f38fbfc6 100644 --- a/enc/trans/japanese.trans +++ b/enc/trans/japanese.trans @@ -20,7 +20,7 @@ <%= transcode_generated_code %> static int -fun_so_eucjp2sjis(rb_transcoding *t, const unsigned char *s, size_t l, unsigned char* o) +fun_so_eucjp2sjis(void *statep, const unsigned char *s, size_t l, unsigned char *o) { if (s[0] == 0x8e) { o[0] = s[1]; @@ -41,7 +41,7 @@ fun_so_eucjp2sjis(rb_transcoding *t, const unsigned char *s, size_t l, unsigned } static int -fun_so_sjis2eucjp(rb_transcoding *t, const unsigned char *s, size_t l, unsigned char* o) +fun_so_sjis2eucjp(void *statep, const unsigned char *s, size_t l, unsigned char *o) { if (l == 1) { o[0] = '\x8e'; @@ -49,7 +49,7 @@ fun_so_sjis2eucjp(rb_transcoding *t, const unsigned char *s, size_t l, unsigned return 2; } else { - int h, m, l; + int h, l; h = s[0]; l = s[1]; if (0xe0 <= h) @@ -74,6 +74,7 @@ rb_eucjp2sjis = { 3, /* max_input */ 2, /* max_output */ stateless_converter, /* stateful_type */ + 0, NULL, NULL, /* state_size, state_init, state_fini */ NULL, NULL, NULL, fun_so_eucjp2sjis }; @@ -85,6 +86,7 @@ rb_sjis2eucjp = { 2, /* max_input */ 2, /* max_output */ stateless_converter, /* stateful_type */ + 0, NULL, NULL, /* state_size, state_init, state_fini */ NULL, NULL, NULL, fun_so_sjis2eucjp }; |