diff options
Diffstat (limited to 'ruby_1_9_3/enc/trans/escape.trans')
-rw-r--r-- | ruby_1_9_3/enc/trans/escape.trans | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/ruby_1_9_3/enc/trans/escape.trans b/ruby_1_9_3/enc/trans/escape.trans deleted file mode 100644 index a2fbebac33..0000000000 --- a/ruby_1_9_3/enc/trans/escape.trans +++ /dev/null @@ -1,94 +0,0 @@ -#include "transcode_data.h" - -<% - def hexstr(str) - str.unpack("H*")[0] - end - - transcode_tblgen("", "amp_escape", [ - ["{00-25,27-FF}", :nomap], - ["26", hexstr("&")] - ], nil) - - transcode_tblgen("", "xml_text_escape", [ - ["{00-25,27-3B,3D,3F-FF}", :nomap], - ["26", hexstr("&")], - ["3C", hexstr("<")], - ["3E", hexstr(">")] - ], nil) - - transcode_tblgen("", "xml_attr_content_escape", [ - ["{00-21,23-25,27-3B,3D,3F-FF}", :nomap], - ["22", hexstr(""")], - ["26", hexstr("&")], - ["3C", hexstr("<")], - ["3E", hexstr(">")] - ], nil) - - map_xml_attr_quote = {} - map_xml_attr_quote["{00-FF}"] = :func_so - transcode_generate_node(ActionMap.parse(map_xml_attr_quote), "escape_xml_attr_quote") -%> - -<%= transcode_generated_code %> - -#define END 0 -#define NORMAL 1 - -static int -escape_xml_attr_quote_init(void *statep) -{ - unsigned char *sp = statep; - *sp = END; - return 0; -} - -static ssize_t -fun_so_escape_xml_attr_quote(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize) -{ - unsigned char *sp = statep; - int n = 0; - if (*sp == END) { - *sp = NORMAL; - o[n++] = '"'; - } - o[n++] = s[0]; - return n; -} - -static ssize_t -escape_xml_attr_quote_finish(void *statep, unsigned char *o, size_t osize) -{ - unsigned char *sp = statep; - int n = 0; - - if (*sp == END) { - o[n++] = '"'; - } - - o[n++] = '"'; - *sp = END; - - return n; -} - -static const rb_transcoder -rb_escape_xml_attr_quote = { - "", "xml_attr_quote", escape_xml_attr_quote, - TRANSCODE_TABLE_INFO, - 1, /* input_unit_length */ - 1, /* max_input */ - 7, /* max_output */ - asciicompat_encoder, /* asciicompat_type */ - 1, escape_xml_attr_quote_init, escape_xml_attr_quote_init, - NULL, NULL, NULL, fun_so_escape_xml_attr_quote, - escape_xml_attr_quote_finish -}; - -void -Init_escape(void) -{ -<%= transcode_register_code %> - rb_register_transcoder(&rb_escape_xml_attr_quote); -} - |