aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-xml.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2008-09-03 19:14:52 +0000
committerGuy Harris <guy@alum.mit.edu>2008-09-03 19:14:52 +0000
commit9d1b5335ac1f48f57712f2937391c7a7b9ce6c19 (patch)
treea80eab1d12198196a9ae17670fe8f845c7204593 /epan/dissectors/packet-xml.c
parent5dd544c914ac58d483bbb78bf7903de331fa2318 (diff)
g_ascii_strdown() and g_ascii_strup(), unlike g_strdown() and g_strup(),
do *not* modify the string handed to them - they g_mallocate a new string and return it. Create routines that *do* ASCII-only case mapping in place, and use them instead. Clean up indentation. svn path=/trunk/; revision=26131
Diffstat (limited to 'epan/dissectors/packet-xml.c')
-rw-r--r--epan/dissectors/packet-xml.c76
1 files changed, 39 insertions, 37 deletions
diff --git a/epan/dissectors/packet-xml.c b/epan/dissectors/packet-xml.c
index 3ea4321225..9ca0d0d645 100644
--- a/epan/dissectors/packet-xml.c
+++ b/epan/dissectors/packet-xml.c
@@ -44,9 +44,11 @@
#include <stdio.h>
#include <glib.h>
+
+#include <wsutil/str_util.h>
+
#include <epan/emem.h>
#include <epan/packet.h>
-#include <epan/strutil.h>
#include <epan/tvbparse.h>
#include <epan/dtd.h>
#include <epan/report_err.h>
@@ -197,7 +199,7 @@ dissect_xml(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
colinfo_str = "/XML";
} else {
colinfo_str = ep_strdup_printf("/%s",root_ns->name);
- g_ascii_strup(colinfo_str,strlen(colinfo_str));
+ ascii_strup_inplace(colinfo_str);
}
if (check_col(pinfo->cinfo, COL_PROTOCOL))
@@ -250,14 +252,14 @@ static void before_xmpli(void* tvbparse_data, const void* wanted_data _U_, tvbpa
proto_item* pi;
proto_tree* pt;
tvbparse_elem_t* name_tok = tok->sub->next;
- const gchar* name = (gchar*)tvb_get_ephemeral_string(name_tok->tvb,name_tok->offset,name_tok->len);
+ gchar* name = tvb_get_ephemeral_string(name_tok->tvb,name_tok->offset,name_tok->len);
xml_ns_t* ns = g_hash_table_lookup(xmpli_names,name);
xml_frame_t* new_frame;
int hf_tag;
gint ett;
- g_ascii_strdown(name,strlen(name));
+ ascii_strdown_inplace(name);
if (!ns) {
hf_tag = hf_xmlpi;
ett = ett_xmpli;
@@ -302,17 +304,17 @@ static void after_xmlpi(void* tvbparse_data, const void* wanted_data _U_, tvbpar
}
static void before_tag(void* tvbparse_data, const void* wanted_data _U_, tvbparse_elem_t* tok) {
- GPtrArray* stack = tvbparse_data;
- xml_frame_t* current_frame = g_ptr_array_index(stack,stack->len - 1);
- tvbparse_elem_t* name_tok = tok->sub->next;
+ GPtrArray* stack = tvbparse_data;
+ xml_frame_t* current_frame = g_ptr_array_index(stack,stack->len - 1);
+ tvbparse_elem_t* name_tok = tok->sub->next;
gchar* root_name;
- const gchar* name = NULL;
- xml_ns_t* ns;
- xml_frame_t* new_frame;
- proto_item* pi;
- proto_tree* pt;
+ gchar* name = NULL;
+ xml_ns_t* ns;
+ xml_frame_t* new_frame;
+ proto_item* pi;
+ proto_tree* pt;
- if (name_tok->sub->id == XML_SCOPED_NAME) {
+ if (name_tok->sub->id == XML_SCOPED_NAME) {
tvbparse_elem_t* root_tok = name_tok->sub->sub;
tvbparse_elem_t* leaf_tok = name_tok->sub->sub->next->next;
xml_ns_t* nameroot_ns;
@@ -332,38 +334,38 @@ static void before_tag(void* tvbparse_data, const void* wanted_data _U_, tvbpars
}
} else {
- name = (gchar*)tvb_get_ephemeral_string(name_tok->tvb,name_tok->offset,name_tok->len);
- g_ascii_strdown(name,strlen(name));
+ name = tvb_get_ephemeral_string(name_tok->tvb,name_tok->offset,name_tok->len);
+ ascii_strdown_inplace(name);
if(current_frame->ns) {
- ns = g_hash_table_lookup(current_frame->ns->elements,name);
+ ns = g_hash_table_lookup(current_frame->ns->elements,name);
- if (!ns) {
- if (! ( ns = g_hash_table_lookup(root_ns->elements,name) ) ) {
- ns = &unknown_ns;
- }
- }
- } else {
- ns = &unknown_ns;
- }
+ if (!ns) {
+ if (! ( ns = g_hash_table_lookup(root_ns->elements,name) ) ) {
+ ns = &unknown_ns;
+ }
+ }
+ } else {
+ ns = &unknown_ns;
+ }
}
pi = proto_tree_add_item(current_frame->tree,ns->hf_tag,tok->tvb,tok->offset,tok->len,FALSE);
- proto_item_set_text(pi, "%s", tvb_format_text(tok->tvb,tok->offset,(name_tok->offset - tok->offset) + name_tok->len));
+ proto_item_set_text(pi, "%s", tvb_format_text(tok->tvb,tok->offset,(name_tok->offset - tok->offset) + name_tok->len));
- pt = proto_item_add_subtree(pi,ns->ett);
+ pt = proto_item_add_subtree(pi,ns->ett);
- new_frame = ep_alloc(sizeof(xml_frame_t));
- new_frame->type = XML_FRAME_TAG;
- new_frame->name = name;
- insert_xml_frame(current_frame, new_frame);
- new_frame->item = pi;
- new_frame->last_item = pi;
- new_frame->tree = pt;
- new_frame->start_offset = tok->offset;
- new_frame->ns = ns;
+ new_frame = ep_alloc(sizeof(xml_frame_t));
+ new_frame->type = XML_FRAME_TAG;
+ new_frame->name = name;
+ insert_xml_frame(current_frame, new_frame);
+ new_frame->item = pi;
+ new_frame->last_item = pi;
+ new_frame->tree = pt;
+ new_frame->start_offset = tok->offset;
+ new_frame->ns = ns;
- g_ptr_array_add(stack,new_frame);
+ g_ptr_array_add(stack,new_frame);
}
@@ -464,7 +466,7 @@ static void after_attrib(void* tvbparse_data, const void* wanted_data _U_, tvbpa
int* hfidp;
int hfid;
- g_ascii_strdown(name,strlen(name));
+ ascii_strdown_inplace(name);
if(current_frame->ns && (hfidp = g_hash_table_lookup(current_frame->ns->attributes,name) )) {
hfid = *hfidp;
} else {