X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/3b8eb6c73024c35643be55c96d0a1b90010daf28..addda66a53aa7be4ff798df2d86fda873f837270:/smbutil.c diff --git a/smbutil.c b/smbutil.c index c34fbacf..8d2d4170 100644 --- a/smbutil.c +++ b/smbutil.c @@ -12,7 +12,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/smbutil.c,v 1.18 2002-01-17 04:38:29 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/smbutil.c,v 1.21 2002-04-26 05:12:40 guy Exp $"; #endif #include @@ -26,7 +26,9 @@ static const char rcsid[] = #include #include #include +#ifdef TIME_WITH_SYS_TIME #include +#endif #include "interface.h" #include "extract.h" @@ -336,7 +338,7 @@ write_bits(unsigned int val, char *fmt) /* convert a UCS2 string into iso-8859-1 string */ static const char * -unistr(const char *s, int *len) +unistr(const u_char *s, int *len) { static char buf[1000]; int l=0; @@ -352,8 +354,8 @@ unistr(const char *s, int *len) /* maybe it isn't unicode - a cheap trick */ if (!use_unicode || (s[0] && s[1])) { - *len = strlen(s) + 1; - return s; + *len = strlen((const char *)s) + 1; + return (const char *)s; } *len = 0; @@ -398,8 +400,11 @@ smb_fdata1(const u_char *buf, const char *fmt, const u_char *maxbuf) case '{': { char bitfmt[128]; - char *p = strchr(++fmt, '}'); - int l = PTR_DIFF(p, fmt); + char *p; + int l; + + p = strchr(++fmt, '}'); + l = PTR_DIFF(p, fmt); strncpy(bitfmt, fmt, l); bitfmt[l] = 0; fmt = p + 1; @@ -413,7 +418,7 @@ smb_fdata1(const u_char *buf, const char *fmt, const u_char *maxbuf) int l = atoi(fmt + 1); buf += l; fmt++; - while (isdigit(*fmt)) + while (isdigit((unsigned char)*fmt)) fmt++; break; } @@ -527,7 +532,7 @@ smb_fdata1(const u_char *buf, const char *fmt, const u_char *maxbuf) printf("%-*.*s", l, l, buf); buf += l; fmt++; - while (isdigit(*fmt)) + while (isdigit((unsigned char)*fmt)) fmt++; break; } @@ -537,7 +542,7 @@ smb_fdata1(const u_char *buf, const char *fmt, const u_char *maxbuf) while (l--) printf("%02x", *buf++); fmt++; - while (isdigit(*fmt)) + while (isdigit((unsigned char)*fmt)) fmt++; break; } @@ -569,7 +574,7 @@ smb_fdata1(const u_char *buf, const char *fmt, const u_char *maxbuf) break; } fmt++; - while (isdigit(*fmt)) + while (isdigit((unsigned char)*fmt)) fmt++; break; } @@ -601,7 +606,7 @@ smb_fdata1(const u_char *buf, const char *fmt, const u_char *maxbuf) } printf("%s", t ? asctime(localtime(&t)) : "NULL\n"); fmt++; - while (isdigit(*fmt)) + while (isdigit((unsigned char)*fmt)) fmt++; break; }