#include "netdissect-stdinc.h"
-#include <string.h>
-
#define ND_LONGJMP_FROM_TCHECK
#include "netdissect.h"
#include "addrtoname.h"
#define ARPOP_REVREPLY 4 /* response giving protocol address */
#define ARPOP_INVREQUEST 8 /* request to identify peer */
#define ARPOP_INVREPLY 9 /* response identifying peer */
-#define ARPOP_NAK 10 /* NAK - only valif for ATM ARP */
+#define ARPOP_NAK 10 /* NAK - only valid for ATM ARP */
/*
* The remaining fields are variable in size,
break;
case ARPOP_REVREQUEST:
- ND_PRINT("who-is %s tell %s",
- GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)),
+ /*
+ * XXX - GET_LINKADDR_STRING() may return a pointer to
+ * a static buffer, so we only have one call to it per
+ * ND_PRINT() call.
+ *
+ * This should be done in a cleaner fashion.
+ */
+ ND_PRINT("who-is %s",
+ GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)));
+ ND_PRINT(" tell %s",
GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap)));
break;
break;
case ARPOP_INVREQUEST:
- ND_PRINT("who-is %s tell %s",
- GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)),
+ /*
+ * XXX - GET_LINKADDR_STRING() may return a pointer to
+ * a static buffer, so we only have one call to it per
+ * ND_PRINT() call.
+ *
+ * This should be done in a cleaner fashion.
+ */
+ ND_PRINT("who-is %s",
+ GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)));
+ ND_PRINT(" tell %s",
GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap)));
break;