Typo corrected.
[openssl.git] / crypto / bio / b_print.c
index 9a71441b291138a976cc7c292915ac52328ea173..2a5e8b58c9c44f531709c10fcf0219fd48301585 100644 (file)
 #include <stdarg.h>
 #include <string.h>
 #include <ctype.h>
-#include <sys/types.h>
 #include "cryptlib.h"
+#ifndef NO_SYS_TYPES_H
+#include <sys/types.h>
+#endif
 #include <openssl/bio.h>
 
 #ifdef BN_LLONG
@@ -82,14 +84,15 @@ int BIO_printf (BIO *bio, ...)
        va_list args;
        char *format;
        int ret;
+       size_t retlen;
        MS_STATIC char hugebuf[1024*2]; /* 10k in one chunk is the limit */
 
        va_start(args, bio);
        format=va_arg(args, char *);
 
        hugebuf[0]='\0';
-       dopr(hugebuf, sizeof(hugebuf), &ret, format, args);
-       ret=BIO_write(bio, hugebuf, ret);
+       dopr(hugebuf, sizeof(hugebuf), &retlen, format, args);
+       ret=BIO_write(bio, hugebuf, (int)retlen);
 
        va_end(args);
        return(ret);
@@ -289,7 +292,7 @@ dopr(
             case 'i':
                 switch (cflags) {
                 case DP_C_SHORT:
-                    value = va_arg(args, short int);
+                    value = (short int)va_arg(args, int);
                     break;
                 case DP_C_LONG:
                     value = va_arg(args, long int);
@@ -312,8 +315,7 @@ dopr(
                 flags |= DP_F_UNSIGNED;
                 switch (cflags) {
                 case DP_C_SHORT:
-                    value = va_arg(args,
-                        unsigned short int);
+                    value = (unsigned short int)va_arg(args, unsigned int);
                     break;
                 case DP_C_LONG:
                     value = (LLONG) va_arg(args,
@@ -618,7 +620,7 @@ fmtfp(
 
     if (fracpart >= pow10(max)) {
         intpart++;
-        fracpart -= pow10(max);
+        fracpart -= (long)pow10(max);
     }
 
     /* convert integer part */