#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/print-snmp.c,v 1.61 2004-12-27 22:14:12 guy Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-snmp.c,v 1.64 2005-05-06 07:56:53 guy Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
p = elem->data.str;
if (printable) {
putchar('"');
- (void)fn_print(p, p + asnlen);
+ if (fn_printn(p, asnlen, snapend)) {
+ putchar('"');
+ goto trunc;
+ }
putchar('"');
} else
for (i = asnlen; i-- > 0; p++) {
{
unsigned int oid[128], oidlen;
SmiNode *smiNode = NULL;
- int i;
+ unsigned int i;
*status = smi_decode_oid(elem, oid, sizeof(oid)/sizeof(unsigned int),
&oidlen);
static int
smi_print_value(SmiNode *smiNode, u_char pduid, struct be *elem)
{
- unsigned int oid[128], oidlen;
+ unsigned int i, oid[128], oidlen;
SmiType *smiType;
SmiNamedNumber *nn;
- int i, done = 0;
+ int done = 0;
if (! smiNode || ! (smiNode->nodekind
& (SMI_NODEKIND_SCALAR | SMI_NODEKIND_COLUMN))) {
* GetBulk, Inform, V2Trap, and Report
*/
static void
-snmppdu_print(u_char pduid, const u_char *np, u_int length)
+snmppdu_print(u_short pduid, const u_char *np, u_int length)
{
struct be elem;
int count = 0, error;
if ((pduid == GETREQ || pduid == GETNEXTREQ || pduid == SETREQ
|| pduid == INFORMREQ || pduid == V2TRAP || pduid == REPORT)
&& elem.data.integer != 0) {
- char errbuf[10];
+ char errbuf[20];
printf("[errorStatus(%s)!=0]",
DECODE_ErrorStatus(elem.data.integer));
} else if (pduid == GETBULKREQ) {
printf(" N=%d", elem.data.integer);
} else if (elem.data.integer != 0) {
- char errbuf[10];
+ char errbuf[20];
printf(" %s", DECODE_ErrorStatus(elem.data.integer));
error = elem.data.integer;
}
}
generic = elem.data.integer;
{
- char buf[10];
+ char buf[20];
printf(" %s", DECODE_GenericTrap(generic));
}
length -= count;