]> The Tcpdump Group git mirrors - tcpdump/blobdiff - util.c
NDOize OpenFlow, IEEE slow and telnet decoders
[tcpdump] / util.c
diff --git a/util.c b/util.c
index f93ed43767340c8bd00643d6955fcec9ddef9a5f..ff406025c9929c87b3d104eb1318e548ee727883 100644 (file)
--- a/util.c
+++ b/util.c
@@ -31,7 +31,6 @@
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
-#include <pcap.h>
 #include <stdio.h>
 #include <stdarg.h>
 #include <stdlib.h>
@@ -59,12 +58,12 @@ fn_print(register const u_char *s, register const u_char *ep)
                        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('^');
                }
@@ -87,12 +86,12 @@ fn_printn(register const u_char *s, register u_int n,
        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('^');
                }
@@ -121,12 +120,12 @@ fn_printzp(register const u_char *s, register u_int n,
                        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('^');
                }
@@ -277,7 +276,7 @@ print_unknown_data(netdissect_options *ndo, const u_char *cp,const char *ident,i
  */
 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) {
@@ -596,14 +595,15 @@ safeputchar(int c)
        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 compiler tries to optimize memcpy(), using the alignment constraint
+ * 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.
  */
@@ -612,3 +612,11 @@ 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