* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#ifndef lint
-static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/util.c,v 1.109 2007-01-29 09:59:42 hannes Exp $ (LBL)";
-#endif
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
-#include <pcap.h>
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
ret = 0;
break;
}
- if (!isascii(c)) {
- c = toascii(c);
+ if (!ND_ISASCII(c)) {
+ c = ND_TOASCII(c);
putchar('M');
putchar('-');
}
- if (!isprint(c)) {
+ if (!ND_ISPRINT(c)) {
c ^= 0x40; /* DEL to ?, others to alpha */
putchar('^');
}
while (n > 0 && (ep == NULL || s < ep)) {
n--;
c = *s++;
- if (!isascii(c)) {
- c = toascii(c);
+ if (!ND_ISASCII(c)) {
+ c = ND_TOASCII(c);
putchar('M');
putchar('-');
}
- if (!isprint(c)) {
+ if (!ND_ISPRINT(c)) {
c ^= 0x40; /* DEL to ?, others to alpha */
putchar('^');
}
ret = 0;
break;
}
- if (!isascii(c)) {
- c = toascii(c);
+ if (!ND_ISASCII(c)) {
+ c = ND_TOASCII(c);
putchar('M');
putchar('-');
}
- if (!isprint(c)) {
+ if (!ND_ISPRINT(c)) {
c ^= 0x40; /* DEL to ?, others to alpha */
putchar('^');
}
*/
const char *
tok2strbuf(register const struct tok *lp, register const char *fmt,
- register int v, char *buf, size_t bufsize)
+ register u_int v, char *buf, size_t bufsize)
{
if (lp != NULL) {
while (lp->s != NULL) {
unsigned char ch;
ch = (unsigned char)(c & 0xff);
- if (ch < 0x80 && isprint(ch))
+ if (ch < 0x80 && ND_ISPRINT(ch))
printf("%c", ch);
else
printf("\\0x%02x", ch);
}
+
+#ifdef LBL_ALIGN
+/*
+ * Some compilers try to optimize memcpy(), using the alignment constraint
+ * on the argument pointer type. by using this function, we try to avoid the
+ * optimization.
+ */
+void
+unaligned_memcpy(void *p, const void *q, size_t l)
+{
+ memcpy(p, q, l);
+}
+
+/* As with memcpy(), so with memcmp(). */
+int
+unaligned_memcmp(const void *p, const void *q, size_t l)
+{
+ return (memcmp(p, q, l));
+}
+#endif