aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ipp.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2006-03-01 00:22:34 +0000
committerGuy Harris <guy@alum.mit.edu>2006-03-01 00:22:34 +0000
commit214dc565e079775125e1b953f6ca57be002d3847 (patch)
tree302ea60d4769a0525eb3e2c29487a3503a93a482 /epan/dissectors/packet-ipp.c
parent660349cfbcf30f85c0287dd114d77627d6ea7d66 (diff)
Use "tvb_format_string()" on strings extracted from the packet.
Use "tvb_get_ephemeral_string()" to extract a counted string into an ep_allocated null-terminated buffer. Constify a variable that points to packet data. svn path=/trunk/; revision=17435
Diffstat (limited to 'epan/dissectors/packet-ipp.c')
-rw-r--r--epan/dissectors/packet-ipp.c53
1 files changed, 21 insertions, 32 deletions
diff --git a/epan/dissectors/packet-ipp.c b/epan/dissectors/packet-ipp.c
index ceb63d71df..1f5ece3234 100644
--- a/epan/dissectors/packet-ipp.c
+++ b/epan/dissectors/packet-ipp.c
@@ -449,18 +449,16 @@ add_integer_tree(proto_tree *tree, tvbuff_t *tvb, int offset,
if (value_length != 1) {
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: Invalid boolean (length is %u, should be 1)",
- name_length,
- tvb_get_ptr(tvb, offset + 1 + 2, name_length),
+ "%s: Invalid boolean (length is %u, should be 1)",
+ tvb_format_text(tvb, offset + 1 + 2, name_length),
value_length);
} else {
bool_val = tvb_get_guint8(tvb,
offset + 1 + 2 + name_length + 2);
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: %s",
- name_length,
- tvb_get_ptr(tvb, offset + 1 + 2, name_length),
+ "%s: %s",
+ tvb_format_text(tvb, offset + 1 + 2, name_length),
val_to_str(bool_val, bool_vals, "Unknown (0x%02x)"));
}
break;
@@ -470,12 +468,11 @@ add_integer_tree(proto_tree *tree, tvbuff_t *tvb, int offset,
if (value_length != 4) {
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: Invalid integer (length is %u, should be 4)",
- name_length,
- tvb_get_ptr(tvb, offset + 1 + 2, name_length),
+ "%s: Invalid integer (length is %u, should be 4)",
+ tvb_format_text(tvb, offset + 1 + 2, name_length),
value_length);
} else {
- char *name_val;
+ const char *name_val;
/* Some fields in IPP are really unix timestamps but IPP
* transports these as 4 byte integers.
* A simple heuristic to make the display of these fields
@@ -487,16 +484,14 @@ add_integer_tree(proto_tree *tree, tvbuff_t *tvb, int offset,
if( (name_length > 5) && name_val && !tvb_memeql(tvb, offset + 1 + 2 + name_length - 5, "-time", 5)){
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: %s",
- name_length,
- name_val,
+ "%s: %s",
+ format_text(name_val, name_length),
abs_time_secs_to_str(tvb_get_ntohl(tvb, offset + 1 + 2 + name_length + 2)));
} else {
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: %u",
- name_length,
- name_val,
+ "%s: %u",
+ format_text(name_val, name_length),
tvb_get_ntohl(tvb, offset + 1 + 2 + name_length + 2));
}
}
@@ -505,9 +500,8 @@ add_integer_tree(proto_tree *tree, tvbuff_t *tvb, int offset,
default:
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: Unknown integer type 0x%02x",
- name_length,
- tvb_get_ptr(tvb, offset + 1 + 2, name_length),
+ "%s: Unknown integer type 0x%02x",
+ tvb_format_text(tvb, offset + 1 + 2, name_length),
tag);
break;
}
@@ -568,9 +562,8 @@ add_octetstring_tree(proto_tree *tree, tvbuff_t *tvb, int offset,
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: %s",
- name_length,
- tvb_get_ptr(tvb, offset + 1 + 2, name_length),
+ "%s: %s",
+ tvb_format_text(tvb, offset + 1 + 2, name_length),
tvb_bytes_to_str(tvb, offset + 1 + 2 + name_length + 2, value_length));
return proto_item_add_subtree(ti, ett_ipp_attr);
}
@@ -593,11 +586,9 @@ add_charstring_tree(proto_tree *tree, tvbuff_t *tvb, int offset,
ti = proto_tree_add_text(tree, tvb, offset,
1 + 2 + name_length + 2 + value_length,
- "%.*s: %.*s",
- name_length,
- tvb_get_ptr(tvb, offset + 1 + 2, name_length),
- value_length,
- tvb_get_ptr(tvb, offset + 1 + 2 + name_length + 2, value_length));
+ "%s: %s",
+ tvb_format_text(tvb, offset + 1 + 2, name_length),
+ tvb_format_text(tvb, offset + 1 + 2 + name_length + 2, value_length));
return proto_item_add_subtree(ti, ett_ipp_attr);
}
@@ -608,7 +599,7 @@ add_charstring_value(const gchar *tag_desc, proto_tree *tree, tvbuff_t *tvb,
offset = add_value_head(tag_desc, tree, tvb, offset, name_length,
value_length, NULL);
proto_tree_add_text(tree, tvb, offset, value_length,
- "Value: %.*s", value_length, tvb_get_ptr(tvb, offset, value_length));
+ "Value: %s", tvb_format_text(tvb, offset, value_length));
}
/* If name_val is !NULL then return the pointer to an emem allocated string in
@@ -625,11 +616,9 @@ add_value_head(const gchar *tag_desc, proto_tree *tree, tvbuff_t *tvb,
offset += 2;
if (name_length != 0) {
guint8 *nv;
- nv=ep_alloc(name_length+1);
- tvb_memcpy(tvb, nv, offset, name_length);
- nv[name_length]=0;
+ nv = tvb_get_ephemeral_string(tvb, offset, name_length);
proto_tree_add_text(tree, tvb, offset, name_length,
- "Name: %.*s", name_length, nv);
+ "Name: %s", format_text(nv, name_length));
if(name_val){
*name_val=nv;
}