diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2013-09-15 10:29:49 +0000 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2013-09-15 10:29:49 +0000 |
commit | 868b345eeaf9a7237d3609451ee715cf8ea43ec7 (patch) | |
tree | f4b28bb9296e48e09f1c68af867d4cbe20cd69e7 /epan/dissectors/packet-gvcp.c | |
parent | 07c29e74e9ca2ef0003069b212b3c1ac382abf5a (diff) |
Convert a few more dissectors to wmem API
svn path=/trunk/; revision=52053
Diffstat (limited to 'epan/dissectors/packet-gvcp.c')
-rw-r--r-- | epan/dissectors/packet-gvcp.c | 87 |
1 files changed, 44 insertions, 43 deletions
diff --git a/epan/dissectors/packet-gvcp.c b/epan/dissectors/packet-gvcp.c index e831a07c79..342bc31706 100644 --- a/epan/dissectors/packet-gvcp.c +++ b/epan/dissectors/packet-gvcp.c @@ -48,6 +48,7 @@ #include "config.h" #include <epan/packet.h> +#include <epan/wmem/wmem.h> #define GVCP_PORT 3956 @@ -108,7 +109,7 @@ static int dissect_gvcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { guint16 packet_type, packet_opcode, packet_plsize; - emem_strbuf_t *info; + wmem_strbuf_t *info; /* Check that there's enough data */ if (tvb_length(tvb) < 8) @@ -141,24 +142,24 @@ dissect_gvcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_ packet_plsize = tvb_get_ntohs(tvb, 4); /* allocate growable info string */ - info = ep_strbuf_new(val_to_str(packet_opcode, opcode_names, "Unknown opcode (0x%04x)")); + info = wmem_strbuf_new(wmem_packet_scope(), val_to_str(packet_opcode, opcode_names, "Unknown opcode (0x%04x)")); /* check that GVCP header+payload match total packet size */ if (tvb_reported_length(tvb) < 8+(guint32)packet_plsize) { - ep_strbuf_append_printf(info, " (truncated? %u bytes missing)", - (8 + packet_plsize) - tvb_reported_length(tvb)); - col_add_str(pinfo->cinfo, COL_INFO, info->str); + wmem_strbuf_append_printf(info, " (truncated? %u bytes missing)", + (8 + packet_plsize) - tvb_reported_length(tvb)); + col_add_str(pinfo->cinfo, COL_INFO, wmem_strbuf_get_str(info)); return tvb_length(tvb);/* or should we assume this is not GVCP, return 0?*/ } if (tvb_reported_length(tvb) > 8+(guint32)packet_plsize) { - ep_strbuf_append_printf(info, " (%u excess bytes)", - tvb_reported_length(tvb) - (8 + packet_plsize)); - col_add_str(pinfo->cinfo, COL_INFO, info->str); + wmem_strbuf_append_printf(info, " (%u excess bytes)", + tvb_reported_length(tvb) - (8 + packet_plsize)); + col_add_str(pinfo->cinfo, COL_INFO, wmem_strbuf_get_str(info)); return tvb_length(tvb);/* or should we assume this is not GVCP, return 0?*/ } if (packet_plsize & 3) {/* payload is always a multiple of 4 bytes */ - ep_strbuf_append(info, " (payload is not multiple of 4 bytes)"); - col_add_str(pinfo->cinfo, COL_INFO, info->str); + wmem_strbuf_append(info, " (payload is not multiple of 4 bytes)"); + col_add_str(pinfo->cinfo, COL_INFO, wmem_strbuf_get_str(info)); return tvb_length(tvb);/* or should we assume this is not GVCP, return 0?*/ } @@ -167,88 +168,88 @@ dissect_gvcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_ switch (packet_opcode) { case 0x04: /* Assign new temporary IP */ if (packet_plsize < 24) {/* 56 bytes seem to be normal */ - ep_strbuf_append(info, " <missing args>"); + wmem_strbuf_append(info, " <missing args>"); } else { /* packet contain new network configuration */ - ep_strbuf_append_printf(info, "%d.%d.%d.%d to %s", - tvb_get_guint8(tvb, 28), tvb_get_guint8(tvb, 29), - tvb_get_guint8(tvb, 30), tvb_get_guint8(tvb, 31), - tvb_bytes_to_str_punct(tvb, 10, 6, ':')); + wmem_strbuf_append_printf(info, "%d.%d.%d.%d to %s", + tvb_get_guint8(tvb, 28), tvb_get_guint8(tvb, 29), + tvb_get_guint8(tvb, 30), tvb_get_guint8(tvb, 31), + tvb_bytes_to_str_punct(tvb, 10, 6, ':')); } break; case 0x80: /* Register Read Request */ case 0x81: /* Register Read Answer */ if (packet_plsize == 0) { - ep_strbuf_append(info, " <missing arg(s)>"); + wmem_strbuf_append(info, " <missing arg(s)>"); } else { /* packet contains address(es) to read from */ - ep_strbuf_append_printf(info, " 0x%08x", tvb_get_ntohl(tvb, 8)); + wmem_strbuf_append_printf(info, " 0x%08x", tvb_get_ntohl(tvb, 8)); if (packet_plsize >= 8) { - ep_strbuf_append_printf(info, ", 0x%08x", tvb_get_ntohl(tvb, 12)); + wmem_strbuf_append_printf(info, ", 0x%08x", tvb_get_ntohl(tvb, 12)); if (packet_plsize >= 12) - ep_strbuf_append(info, ", ..."); + wmem_strbuf_append(info, ", ..."); } } break; case 0x82: /* Register Write Request */ if (packet_plsize < 8) { - ep_strbuf_append(info, " <missing arg(s)>"); + wmem_strbuf_append(info, " <missing arg(s)>"); } else { /* packet contains address/value pairs to read from */ - ep_strbuf_append_printf(info, " *0x%08x = 0x%08x", tvb_get_ntohl(tvb, 8), - tvb_get_ntohl(tvb, 12)); + wmem_strbuf_append_printf(info, " *0x%08x = 0x%08x", tvb_get_ntohl(tvb, 8), + tvb_get_ntohl(tvb, 12)); if (packet_plsize >= 16) { - ep_strbuf_append_printf(info, ", *0x%08x = 0x%08x", - tvb_get_ntohl(tvb, 16), tvb_get_ntohl(tvb, 20)); + wmem_strbuf_append_printf(info, ", *0x%08x = 0x%08x", + tvb_get_ntohl(tvb, 16), tvb_get_ntohl(tvb, 20)); if (packet_plsize >= 24) - ep_strbuf_append(info, ", ..."); + wmem_strbuf_append(info, ", ..."); } } break; case 0x83: /* Register Write Answer */ if (packet_plsize < 4) { - ep_strbuf_append(info, " <missing arg>"); + wmem_strbuf_append(info, " <missing arg>"); } else { - ep_strbuf_append_printf(info, " %d register%s written", - tvb_get_ntohl(tvb, 8), - tvb_get_ntohl(tvb, 8)==1?"":"s"); + wmem_strbuf_append_printf(info, " %d register%s written", + tvb_get_ntohl(tvb, 8), + tvb_get_ntohl(tvb, 8)==1?"":"s"); } break; case 0x84: /* Block Read Request */ if (packet_plsize < 8) { - ep_strbuf_append(info, " <missing args>"); + wmem_strbuf_append(info, " <missing args>"); } else { /* packet contains address/size pair to read from */ - ep_strbuf_append_printf(info, " 0x%08x (%d bytes, X=0x%04x)", - tvb_get_ntohl(tvb, 8), tvb_get_ntohs(tvb, 14), - tvb_get_ntohs(tvb, 12)); + wmem_strbuf_append_printf(info, " 0x%08x (%d bytes, X=0x%04x)", + tvb_get_ntohl(tvb, 8), tvb_get_ntohs(tvb, 14), + tvb_get_ntohs(tvb, 12)); if (packet_plsize > 8) { - ep_strbuf_append(info, "; excess payload"); + wmem_strbuf_append(info, "; excess payload"); } } break; case 0x85: /* Block Read Answer */ if (packet_plsize < 8) { - ep_strbuf_append(info, " <missing args>"); + wmem_strbuf_append(info, " <missing args>"); } else { /* packet contains desired data */ - ep_strbuf_append_printf(info, " %d bytes from 0x%08x", packet_plsize - 4, - tvb_get_ntohl(tvb, 8)); + wmem_strbuf_append_printf(info, " %d bytes from 0x%08x", packet_plsize - 4, + tvb_get_ntohl(tvb, 8)); } break; case 0x86: /* Block Write Request */ if (packet_plsize < 8) { - ep_strbuf_append(info, " <missing args>"); + wmem_strbuf_append(info, " <missing args>"); } else { /* packet contains desired data */ - ep_strbuf_append_printf(info, " *0x%08x = <%d bytes>", - tvb_get_ntohl(tvb, 8), packet_plsize - 4); + wmem_strbuf_append_printf(info, " *0x%08x = <%d bytes>", + tvb_get_ntohl(tvb, 8), packet_plsize - 4); } break; case 0x87: /* Block Write Answer */ if (packet_plsize < 4) { - ep_strbuf_append(info, " <missing arg>"); + wmem_strbuf_append(info, " <missing arg>"); } else { - ep_strbuf_append_printf(info, " %d bytes written", tvb_get_ntohl(tvb, 8)); + wmem_strbuf_append_printf(info, " %d bytes written", tvb_get_ntohl(tvb, 8)); } break; } - col_add_str(pinfo->cinfo, COL_INFO, info->str); + col_add_str(pinfo->cinfo, COL_INFO, wmem_strbuf_get_str(info)); if (tree) { /* we are being asked for details */ proto_item *ti = NULL; |