diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-09 16:06:54 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-09 16:06:54 +0000 |
commit | 817a623d13b54d10f3d6492391aaeb2ce25a7f1c (patch) | |
tree | 0f49e942ebe5c3c50af09c1ddfd01963a54d7d8e | |
parent | 1a9887acc0630042d7cf9c57b7a85dcfbcf6d873 (diff) | |
download | ruby-817a623d13b54d10f3d6492391aaeb2ce25a7f1c.tar.gz |
* enc/trans/newline.trans (rb_universal_newline): swap src_encoding
and dst_encoding.
* transcode.c (rb_econv_decorate_at): call get_transcoder_entry only
once.
(rb_econv_binmode): follow universal_newline change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | enc/trans/newline.trans | 3 | ||||
-rw-r--r-- | transcode.c | 6 |
3 files changed, 12 insertions, 6 deletions
@@ -1,3 +1,12 @@ +Wed Sep 10 01:05:00 2008 Tanaka Akira <akr@fsij.org> + + * enc/trans/newline.trans (rb_universal_newline): swap src_encoding + and dst_encoding. + + * transcode.c (rb_econv_decorate_at): call get_transcoder_entry only + once. + (rb_econv_binmode): follow universal_newline change. + Wed Sep 10 00:01:36 2008 Tanaka Akira <akr@fsij.org> * include/ruby/io.h (rb_io_t): rename field: writeconv_stateless to diff --git a/enc/trans/newline.trans b/enc/trans/newline.trans index db49a9f003..14eacd1876 100644 --- a/enc/trans/newline.trans +++ b/enc/trans/newline.trans @@ -87,7 +87,7 @@ universal_newline_finish(void *statep, unsigned char *o) static const rb_transcoder rb_universal_newline = { - "universal_newline", "", universal_newline, + "", "universal_newline", universal_newline, TRANSCODE_TABLE_INFO, 1, /* input_unit_length */ 1, /* max_input */ @@ -129,4 +129,3 @@ Init_newline(void) rb_register_transcoder(&rb_crlf_newline); rb_register_transcoder(&rb_cr_newline); } - diff --git a/transcode.c b/transcode.c index 0fbbd0a11f..0ca20d239a 100644 --- a/transcode.c +++ b/transcode.c @@ -132,7 +132,7 @@ struct rb_econv_t { * Dispatch data and logic */ -#define SUPPLEMENTAL_CONVERSION(sname, dname) (*(sname) == '\0' || *(dname) == '\0') +#define SUPPLEMENTAL_CONVERSION(sname, dname) (*(sname) == '\0') typedef struct { const char *sname; @@ -1762,8 +1762,6 @@ rb_econv_decorate_at(rb_econv_t *ec, const char *decorator_name, int n) entry = get_transcoder_entry("", decorator_name); if (!entry) - entry = get_transcoder_entry(decorator_name, ""); - if (!entry) return -1; tr = load_transcoder_entry(entry); @@ -1833,7 +1831,7 @@ rb_econv_binmode(rb_econv_t *ec) n = 0; if (ec->flags & ECONV_UNIVERSAL_NEWLINE_DECORATOR) { - entry = get_transcoder_entry("universal_newline", ""); + entry = get_transcoder_entry("", "universal_newline"); if (entry->transcoder) trs[n++] = entry->transcoder; } |