aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-x11.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2005-01-16 00:29:54 +0000
committerGuy Harris <guy@alum.mit.edu>2005-01-16 00:29:54 +0000
commitf1ce220265a6097d65d57490837e49e3983d8fc3 (patch)
tree79ac053a96d7d78c24f87c9085ab40a189acd10a /epan/dissectors/packet-x11.c
parent99594646d45332b1ddc604a4647d9f53a4fdd60a (diff)
Display the keycode list for a modifier a bit differently (don't list
the modifier name for every keycode, just give the modifier name once and then show all the keycodes), and use "proto_item_append_text()" rather than building a string. Clean up white space. svn path=/trunk/; revision=13057
Diffstat (limited to 'epan/dissectors/packet-x11.c')
-rw-r--r--epan/dissectors/packet-x11.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/epan/dissectors/packet-x11.c b/epan/dissectors/packet-x11.c
index e4a9c77614..c6b428294b 100644
--- a/epan/dissectors/packet-x11.c
+++ b/epan/dissectors/packet-x11.c
@@ -1786,35 +1786,35 @@ static void listOfKeycode(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf,
int *modifiermap[], int keycodes_per_modifier,
gboolean little_endian)
{
- char buffer[1024];
proto_item *ti = proto_tree_add_item(t, hf, tvb, *offsetp,
- array_length(modifiers) * keycodes_per_modifier, little_endian);
-
+ array_length(modifiers) * keycodes_per_modifier, little_endian);
proto_tree *tt = proto_item_add_subtree(ti, ett_x11_list_of_keycode);
size_t m;
for (m = 0; m < array_length(modifiers);
++m, *offsetp += keycodes_per_modifier) {
const guint8 *p;
- char *bp = buffer;
+ proto_item *tikc;
+ char *sep = ": ";
int i;
p = tvb_get_ptr(tvb, *offsetp, keycodes_per_modifier);
- modifiermap[m] =
- g_malloc(sizeof(*modifiermap[m]) * keycodes_per_modifier);
+ modifiermap[m] =
+ g_malloc(sizeof(*modifiermap[m]) * keycodes_per_modifier);
+ tikc = proto_tree_add_bytes_format(tt, hf_x11_keycodes_item, tvb,
+ *offsetp, keycodes_per_modifier, p,
+ "Keycode list for %s", modifiers[m]);
for(i = 0; i < keycodes_per_modifier; ++i) {
guchar c = p[i];
- if (c)
- bp += sprintf(bp, " %s=%d", modifiers[m], c);
+ if (c) {
+ proto_item_append_text(tikc, "%s%u", sep, c);
+ sep = ", ";
+ }
modifiermap[m][i] = c;
}
-
- proto_tree_add_bytes_format(tt, hf_x11_keycodes_item, tvb,
- *offsetp, keycodes_per_modifier, p,
- "item: %s", buffer);
}
}