]> The Tcpdump Group git mirrors - tcpdump/blobdiff - smbutil.c
NDOize OpenFlow, IEEE slow and telnet decoders
[tcpdump] / smbutil.c
index 52bffeb7ab12bab8655ba0f0b035e499caf27219..da8612324fb2f5dc6f174d1b3bca48ef747d2cd3 100644 (file)
--- a/smbutil.c
+++ b/smbutil.c
 #include "config.h"
 #endif
 
-#ifndef lint
-static const char rcsid[] _U_ =
-     "@(#) $Header: /tcpdump/master/tcpdump/smbutil.c,v 1.38 2007-06-15 19:49:41 guy Exp $";
-#endif
-
 #include <tcpdump-stdinc.h>
 
 #include <stdio.h>
@@ -279,6 +274,7 @@ print_data(const unsigned char *buf, int len)
        return;
     printf("[%03X] ", i);
     for (i = 0; i < len; /*nothing*/) {
+        TCHECK(buf[i]);
        printf("%02X ", buf[i] & 0xff);
        i++;
        if (i%8 == 0)
@@ -302,7 +298,7 @@ print_data(const unsigned char *buf, int len)
        while (n--)
            printf("   ");
 
-       n = SMBMIN(8, i % 16);
+       n = min(8, i % 16);
        print_asc(&buf[i - (i % 16)], n);
        printf(" ");
        n = (i % 16) - n;
@@ -310,6 +306,11 @@ print_data(const unsigned char *buf, int len)
            print_asc(&buf[i - n], n);
        printf("\n");
     }
+    return;
+
+trunc:
+    printf("\n");
+    printf("WARNING: Short packet. Try increasing the snap length\n");
 }
 
 
@@ -328,7 +329,7 @@ write_bits(unsigned int val, const char *fmt)
     }
 }
 
-/* convert a UCS2 string into iso-8859-1 string */
+/* convert a UCS-2 string into an ASCII string */
 #define MAX_UNISTR_SIZE        1000
 static const char *
 unistr(const u_char *s, u_int32_t *len, int use_unicode)
@@ -383,7 +384,7 @@ unistr(const u_char *s, u_int32_t *len, int use_unicode)
            TCHECK(s[0]);
            if (l >= MAX_UNISTR_SIZE)
                break;
-           if (isprint(s[0]))
+           if (ND_ISPRINT(s[0]))
                buf[l] = s[0];
            else {
                if (s[0] == 0)
@@ -399,7 +400,7 @@ unistr(const u_char *s, u_int32_t *len, int use_unicode)
            TCHECK2(s[0], 2);
            if (l >= MAX_UNISTR_SIZE)
                break;
-           if (s[1] == 0 && isprint(s[0])) {
+           if (s[1] == 0 && ND_ISPRINT(s[0])) {
                /* It's a printable ASCII character */
                buf[l] = s[0];
            } else {
@@ -894,7 +895,7 @@ static const err_code_struct dos_msgs[] = {
  };
 
 /* Server Error Messages */
-err_code_struct server_msgs[] = {
+static const err_code_struct server_msgs[] = {
     { "ERRerror", 1, "Non-specific error code." },
     { "ERRbadpw", 2, "Bad password - name/password pair in a Tree Connect or Session Setup are invalid." },
     { "ERRbadtype", 3, "reserved." },
@@ -931,7 +932,7 @@ err_code_struct server_msgs[] = {
 };
 
 /* Hard Error Messages */
-err_code_struct hard_msgs[] = {
+static const err_code_struct hard_msgs[] = {
     { "ERRnowrite", 19, "Attempt to write on write-protected diskette." },
     { "ERRbadunit", 20, "Unknown unit." },
     { "ERRnotready", 21, "Drive not ready." },