X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/fe3253b9b8fad9e75f863157eba0780418182f17..ce4ccb8a10c247ba36da448b9a9e86a5964acd2b:/print-sip.c diff --git a/print-sip.c b/print-sip.c index a0223f22..540cbf42 100644 --- a/print-sip.c +++ b/print-sip.c @@ -13,47 +13,44 @@ * Original code by Hannes Gredler (hannes@juniper.net) */ +#define NETDISSECT_REWORKED #ifdef HAVE_CONFIG_H #include "config.h" #endif #include -#include -#include - #include "interface.h" #include "extract.h" -#include "udp.h" - void -sip_print(register const u_char *pptr, register u_int len) +sip_print(netdissect_options *ndo, + register const u_char *pptr, register u_int len) { u_int idx; - printf("SIP, length: %u%s", len, vflag ? "\n\t" : ""); + ND_PRINT((ndo, "SIP, length: %u%s", len, ndo->ndo_vflag ? "\n\t" : "")); /* in non-verbose mode just lets print the protocol and length */ - if (vflag < 1) + if (ndo->ndo_vflag < 1) return; for (idx = 0; idx < len; idx++) { - TCHECK2(*(pptr+idx), 2); + ND_TCHECK2(*(pptr+idx), 2); if (EXTRACT_16BITS(pptr+idx) != 0x0d0a) { /* linefeed ? */ - safeputchar(*(pptr+idx)); + safeputchar(ndo, *(pptr + idx)); } else { - printf("\n\t"); + ND_PRINT((ndo, "\n\t")); idx+=1; } } /* do we want to see an additionally hexdump ? */ - if (vflag> 1) - print_unknown_data(gndo,pptr,"\n\t",len); + if (ndo->ndo_vflag > 1) + print_unknown_data(ndo, pptr, "\n\t", len); return; trunc: - printf("[|sip]"); + ND_PRINT((ndo, "[|sip]")); }