mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
for undefined conversions.
* transcode_data_iso_8859.c: Changed from character constants ('\xC2') to integer contants (0xC2) for shorter files and better readability; eliminated duplicated tables; changed from -1 offset to actual UNDEF entry (not yet distinguishing UNDEF and ILLEGAL correctly). * test/ruby/test_transcode.rb: added a test for UNDEF conversion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b7beb63b0b
commit
5c4cf9bfdf
5 changed files with 1639 additions and 1953 deletions
|
@ -191,7 +191,6 @@ transcode_loop(char **in_pos, char **out_pos,
|
|||
next_byte = (unsigned char)*in_p++;
|
||||
follow_byte:
|
||||
next_offset = next_table->base[next_byte];
|
||||
if (next_offset == (base_element)-1) goto illegal;
|
||||
next_info = (VALUE)next_table->info[next_offset];
|
||||
switch (next_info & 0x1F) {
|
||||
case NOMAP:
|
||||
|
@ -234,7 +233,7 @@ transcode_loop(char **in_pos, char **out_pos,
|
|||
goto illegal;
|
||||
case UNDEF:
|
||||
/* todo: add code for alternative behaviors */
|
||||
rb_raise(rb_eRuntimeError /*@@@change exception*/, "conversion undefined for byte sequence");
|
||||
rb_raise(rb_eRuntimeError /*@@@change exception*/, "conversion undefined for byte sequence (maybe illegal byte sequence)");
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue