Short is always promoted to int when passed as a function argument.
authorRichard Levitte <levitte@openssl.org>
Sun, 27 Feb 2000 23:17:18 +0000 (23:17 +0000)
committerRichard Levitte <levitte@openssl.org>
Sun, 27 Feb 2000 23:17:18 +0000 (23:17 +0000)
This is especially true when it's part of a '...'.

crypto/bio/b_print.c

index caf2235..b8d9436 100644 (file)
@@ -292,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);
@@ -315,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, int);
                     break;
                 case DP_C_LONG:
                     value = (LLONG) va_arg(args,