snprintf-ip-printing-20040826
[openafs.git] / src / util / snprintf.c
index 7bd7b5b..603d174 100644 (file)
@@ -16,7 +16,7 @@ RCSID
 #else
 #include <winsock2.h>
 #endif
-#if defined(AFS_AIX32_ENV) || defined(AFS_SUN_ENV) || defined(AFS_XBSD_ENV) || defined(AFS_HPUX_ENV)
+#if defined(AFS_AIX32_ENV) || defined(AFS_SUN_ENV) || defined(AFS_XBSD_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_SGI65_ENV)
 #include <sys/socket.h>
 #endif
 #ifdef HAVE_STRING_H
@@ -436,9 +436,11 @@ afs_vsnprintf(char *p, size_t avail, const char *fmt, va_list ap)
                } else {
                    x = "%u.%u.%u.%u";
                }
-               sprintf(xbuf, x, (UVAL & 0xff000000) >> 24,
-                       (UVAL & 0x00ff0000) >> 16, (UVAL & 0x0000ff00) >> 8,
-                       (UVAL & 0x000000ff));
+               /* typecast to whatever '%u' is! */
+               sprintf(xbuf, x, (unsigned int)((UVAL & 0xff000000) >> 24),
+                       (unsigned int)((UVAL & 0x00ff0000) >> 16), 
+                       (unsigned int)((UVAL & 0x0000ff00) >> 8),
+                       (unsigned int)(UVAL & 0x000000ff));
                x = xbuf;
                len = strlen(xbuf);
            }
@@ -508,7 +510,7 @@ afs_snprintf(char *p, size_t avail, const char *fmt, ...)
 
 #if defined(AFS_OSF20_ENV) && !defined(AFS_DUX50_ENV) || defined(AFS_AIX32_ENV) || (defined(AFS_SUN55_ENV) && !defined(AFS_SUN56_ENV)) || !defined(HAVE_VSNPRINTF)
 
-#ifdef AFS_AIX51_ENV
+#if defined(AFS_AIX51_ENV) || defined(AFS_NT40_ENV)
 int
 vsnprintf(char *p, size_t avail, const char *fmt, va_list ap)
 #else