X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/585ac3db0663f474fd3417ea91953b58022cc9d9..f58b1c21204c3fe61daff89c8e3bdec9bb44b6f0:/print-sip.c?ds=sidebyside 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]")); }