diff options
author | Guy Harris <guy@alum.mit.edu> | 2005-01-16 00:29:54 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2005-01-16 00:29:54 +0000 |
commit | f1ce220265a6097d65d57490837e49e3983d8fc3 (patch) | |
tree | 79ac053a96d7d78c24f87c9085ab40a189acd10a /epan/dissectors/packet-x11.c | |
parent | 99594646d45332b1ddc604a4647d9f53a4fdd60a (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.c | 24 |
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); } } |