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 | 73bf4c2af56d827a57acfe1f13de1c30119fa510 (patch) | |
| tree | 0f49e942ebe5c3c50af09c1ddfd01963a54d7d8e | |
| parent | dba34212df892b26d65902b87d7eab09a17f4a9d (diff) | |
| download | ruby-73bf4c2af56d827a57acfe1f13de1c30119fa510.tar.gz ruby-73bf4c2af56d827a57acfe1f13de1c30119fa510.tar.xz ruby-73bf4c2af56d827a57acfe1f13de1c30119fa510.zip | |
* 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: http://svn.ruby-lang.org/repos/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 db49a9f00..14eacd187 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 0fbbd0a11..0ca20d239 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; } |
