diff options
Diffstat (limited to 'epan/dtd_grammar.lemon')
-rw-r--r-- | epan/dtd_grammar.lemon | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/epan/dtd_grammar.lemon b/epan/dtd_grammar.lemon index 5a2529e1ab..024dedc4e0 100644 --- a/epan/dtd_grammar.lemon +++ b/epan/dtd_grammar.lemon @@ -89,6 +89,7 @@ doctype ::= TAG_START DOCTYPE_KW NAME(Name) OPEN_BRACKET dtd_parts CLOSE_BRACKET dtd_named_list_t* root; GPtrArray* root_elems = g_ptr_array_new(); guint i; + gchar *name; if(! bd->proto_name) { bd->proto_name = Name->text; @@ -99,7 +100,9 @@ doctype ::= TAG_START DOCTYPE_KW NAME(Name) OPEN_BRACKET dtd_parts CLOSE_BRACKET bd->proto_root = Name->text; - g_strdown(bd->proto_name); + name = g_ascii_strdown(bd->proto_name, -1); + g_free(bd->proto_name); + bd->proto_name = name; for( i = 0; i< bd->elements->len; i++) { dtd_named_list_t* el = g_ptr_array_index(bd->elements,i); @@ -123,16 +126,16 @@ dtd_parts ::= attlist(Attlist). { g_ptr_array_add(bd->attributes,Attlist); } %type attlist { dtd_named_list_t* } attlist(A) ::= TAG_START ATTLIST_KW NAME(B) attrib_list(TheList) TAG_STOP. { - g_strdown(B->text); - A = dtd_named_list_new(B->text,TheList); + A = dtd_named_list_new(g_ascii_strdown(B->text, -1),TheList); + g_free(B->text); g_free(B->location); g_free(B); } %type element { dtd_named_list_t* } element(A) ::= TAG_START ELEMENT_KW NAME(B) sub_elements(C) TAG_STOP. { - g_strdown(B->text); - A = dtd_named_list_new(B->text,C); + A = dtd_named_list_new(g_ascii_strdown(B->text, -1),C); + g_free(B->text); g_free(B->location); g_free(B); } @@ -143,8 +146,8 @@ attrib_list(A) ::= attrib(B). { A = g_ptr_array_new(); g_ptr_array_add(A,B); } %type attrib { gchar* } attrib(A) ::= NAME(B) att_type att_default. { - A = B->text; - g_strdown(A); + A = g_ascii_strdown(B->text, -1); + g_free(B->text); g_free(B->location); g_free(B); } @@ -189,29 +192,29 @@ element_list(A) ::= element_list(B) PIPE sub_elements(C). { A = g_ptr_array_jo %type element_child { gchar* } element_child(A) ::= NAME(B). { - A = B->text; - g_strdown(A); + A = g_ascii_strdown(B->text, -1); + g_free(B->text); g_free(B->location); g_free(B); } element_child(A) ::= NAME(B) STAR. { - A = B->text; - g_strdown(A); + A = g_ascii_strdown(B->text, -1); + g_free(B->text); g_free(B->location); g_free(B); } element_child(A) ::= NAME(B) QUESTION. { - A = B->text; - g_strdown(A); + A = g_ascii_strdown(B->text, -1); + g_free(B->text); g_free(B->location); g_free(B); } element_child(A) ::= NAME(B) PLUS. { - A = B->text; - g_strdown(A); + A = g_ascii_strdown(B->text, -1); + g_free(B->text); g_free(B->location); g_free(B); } |