summaryrefslogtreecommitdiff
path: root/enc
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-08 15:48:17 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-08 15:48:17 +0000
commit2833d9f95d076c09d7a4ba6b3f8ba26d33d56ef7 (patch)
tree10647c5a9855fd255251b268c14294a214841d7d /enc
parenta456f022fc22182db58a7a32b21440af2c6ca0c5 (diff)
* transcode_data.h (rb_transcoder): from_unit_length field added.
from_utf8 field removed. * tool/transcode-tblgen.rb: generate offsets range. follow rb_transcoder change. * transcode.c (transcode_loop): don't use from_utf8. make invalid region from_unit_length wise. * enc/trans/iso2022.erb.c: follow rb_transcoder and transcode_generate_node change. * enc/trans/utf_16_32.erb.c: follow rb_transcoder and transcode_generate_node change. explicit :invalid map removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc')
-rw-r--r--enc/trans/iso2022.erb.c10
-rw-r--r--enc/trans/utf_16_32.erb.c41
2 files changed, 18 insertions, 33 deletions
diff --git a/enc/trans/iso2022.erb.c b/enc/trans/iso2022.erb.c
index c3f6be693c..72553f4054 100644
--- a/enc/trans/iso2022.erb.c
+++ b/enc/trans/iso2022.erb.c
@@ -12,8 +12,8 @@
map_jisx0208_rest["{21-7e}"] = :func_so
%>
-<%= transcode_generate_node(ActionMap.parse(map), "iso2022jp_to_eucjp", []) %>
-<%= transcode_generate_node(ActionMap.parse(map_jisx0208_rest), "iso2022jp_to_eucjp_jisx0208_rest", []) %>
+<%= transcode_generate_node(ActionMap.parse(map), "iso2022jp_to_eucjp") %>
+<%= transcode_generate_node(ActionMap.parse(map_jisx0208_rest), "iso2022jp_to_eucjp_jisx0208_rest") %>
static VALUE
fun_si_iso2022jp_to_eucjp(rb_transcoding* t, const unsigned char* s, size_t l)
@@ -57,7 +57,7 @@ fun_so_iso2022jp_to_eucjp(rb_transcoding* t, const unsigned char* s, size_t l, u
static const rb_transcoder
rb_ISO_2022_JP_to_EUC_JP = {
- "ISO-2022-JP", "EUC-JP", &iso2022jp_to_eucjp, 3, 0,
+ "ISO-2022-JP", "EUC-JP", &iso2022jp_to_eucjp, 1, 3,
NULL, fun_si_iso2022jp_to_eucjp, NULL, fun_so_iso2022jp_to_eucjp
};
@@ -71,7 +71,7 @@ rb_ISO_2022_JP_to_EUC_JP = {
}
%>
-<%= transcode_generate_node(ActionMap.parse(map_eucjp), "eucjp_to_iso2022jp", []) %>
+<%= transcode_generate_node(ActionMap.parse(map_eucjp), "eucjp_to_iso2022jp") %>
static int
fun_so_eucjp_to_iso2022jp(rb_transcoding *t, const unsigned char *s, size_t l, unsigned char *o)
@@ -129,7 +129,7 @@ finish_eucjp_to_iso2022jp(rb_transcoding *t, unsigned char *o)
static const rb_transcoder
rb_EUC_JP_to_ISO_2022_JP = {
- "EUC-JP", "ISO-2022-JP", &eucjp_to_iso2022jp, 5, 0,
+ "EUC-JP", "ISO-2022-JP", &eucjp_to_iso2022jp, 1, 5,
NULL, NULL, NULL, fun_so_eucjp_to_iso2022jp, finish_eucjp_to_iso2022jp
};
diff --git a/enc/trans/utf_16_32.erb.c b/enc/trans/utf_16_32.erb.c
index 67f84e74bf..2cf7560b4e 100644
--- a/enc/trans/utf_16_32.erb.c
+++ b/enc/trans/utf_16_32.erb.c
@@ -183,14 +183,12 @@ fun_so_to_utf_32le(rb_transcoding* t, const unsigned char* s, size_t l, unsigned
map = {}
map["{00-d7,e0-ff}{00-ff}"] = :func_so
map["{d8-db}{00-ff}{dc-df}{00-ff}"] = :func_so
- map["{dc-df}{00-ff}"] = :invalid
- map["{d8-db}{00-ff}{00-db,e0-ff}{00-ff}"] = :invalid
- transcode_generate_node(ActionMap.parse(map), "from_UTF_16BE", [])
+ transcode_generate_node(ActionMap.parse(map), "from_UTF_16BE")
%>
static const rb_transcoder
rb_from_UTF_16BE = {
- "UTF-16BE", "UTF-8", &from_UTF_16BE, 4, 0,
+ "UTF-16BE", "UTF-8", &from_UTF_16BE, 2, 4,
NULL, NULL, NULL, &fun_so_from_utf_16be
};
@@ -205,18 +203,13 @@ rb_from_UTF_16BE = {
map["f0{90-bf}{80-bf}{80-bf}"] = :func_so
map["{f1-f3}{80-bf}{80-bf}{80-bf}"] = :func_so
map["f4{80-8f}{80-bf}{80-bf}"] = :func_so
- map["{80-c1,f5-ff}"] = :invalid
- map["e0{80-9f}"] = :invalid
- map["ed{a0-bf}"] = :invalid
- map["f0{80-8f}"] = :invalid
- map["f4{90-bf}"] = :invalid
am = ActionMap.parse(map)
- transcode_generate_node(am, "to_UTF_16BE", [0x00..0xff, 0x80..0xbf, 0x80..0xbf, 0x80..0xbf])
+ transcode_generate_node(am, "to_UTF_16BE")
%>
static const rb_transcoder
rb_to_UTF_16BE = {
- "UTF-8", "UTF-16BE", &to_UTF_16BE, 4, 1,
+ "UTF-8", "UTF-16BE", &to_UTF_16BE, 1, 4,
NULL, NULL, NULL, &fun_so_to_utf_16be
};
@@ -224,20 +217,18 @@ rb_to_UTF_16BE = {
map = {}
map["{00-ff}{00-d7,e0-ff}"] = :func_so
map["{00-ff}{d8-db}{00-ff}{dc-df}"] = :func_so
- map["{00-ff}{dc-df}"] = :invalid
- map["{00-ff}{d8-db}{00-ff}{00-db,e0-ff}"] = :invalid
- transcode_generate_node(ActionMap.parse(map), "from_UTF_16LE", [])
+ transcode_generate_node(ActionMap.parse(map), "from_UTF_16LE")
%>
static const rb_transcoder
rb_from_UTF_16LE = {
- "UTF-16LE", "UTF-8", &from_UTF_16LE, 4, 0,
+ "UTF-16LE", "UTF-8", &from_UTF_16LE, 2, 4,
NULL, NULL, NULL, &fun_so_from_utf_16le
};
static const rb_transcoder
rb_to_UTF_16LE = {
- "UTF-8", "UTF-16LE", &to_UTF_16BE, 4, 1,
+ "UTF-8", "UTF-16LE", &to_UTF_16BE, 1, 4,
NULL, NULL, NULL, &fun_so_to_utf_16le
};
@@ -245,21 +236,18 @@ rb_to_UTF_16LE = {
map = {}
map["0000{00-d7,e0-ff}{00-ff}"] = :func_so
map["00{01-10}{00-ff}{00-ff}"] = :func_so
- map["00{11-ff}{00-ff}{00-ff}"] = :invalid
- map["0000{d8-df}{00-ff}"] = :invalid
- map["{01-ff}{00-ff}{00-ff}{00-ff}"] = :invalid
- transcode_generate_node(ActionMap.parse(map), "from_UTF_32BE", [])
+ transcode_generate_node(ActionMap.parse(map), "from_UTF_32BE")
%>
static const rb_transcoder
rb_from_UTF_32BE = {
- "UTF-32BE", "UTF-8", &from_UTF_32BE, 4, 0,
+ "UTF-32BE", "UTF-8", &from_UTF_32BE, 4, 4,
NULL, NULL, NULL, &fun_so_from_utf_32be
};
static const rb_transcoder
rb_to_UTF_32BE = {
- "UTF-8", "UTF-32BE", &to_UTF_16BE, 4, 1,
+ "UTF-8", "UTF-32BE", &to_UTF_16BE, 1, 4,
NULL, NULL, NULL, &fun_so_to_utf_32be
};
@@ -267,21 +255,18 @@ rb_to_UTF_32BE = {
map = {}
map["{00-ff}{00-d7,e0-ff}0000"] = :func_so
map["{00-ff}{00-ff}{01-10}00"] = :func_so
- map["{00-ff}{00-ff}{00-ff}{01-ff}"] = :invalid
- map["{00-ff}{00-ff}{11-ff}00"] = :invalid
- map["{00-ff}{d8-df}0000"] = :invalid
- transcode_generate_node(ActionMap.parse(map), "from_UTF_32LE", [])
+ transcode_generate_node(ActionMap.parse(map), "from_UTF_32LE")
%>
static const rb_transcoder
rb_from_UTF_32LE = {
- "UTF-32LE", "UTF-8", &from_UTF_32LE, 4, 0,
+ "UTF-32LE", "UTF-8", &from_UTF_32LE, 4, 4,
NULL, NULL, NULL, &fun_so_from_utf_32le
};
static const rb_transcoder
rb_to_UTF_32LE = {
- "UTF-8", "UTF-32LE", &to_UTF_16BE, 4, 1,
+ "UTF-8", "UTF-32LE", &to_UTF_16BE, 1, 4,
NULL, NULL, NULL, &fun_so_to_utf_32le
};