* device/lib/printf_large.c (calculate_digit): removed optimization for octal and...
[fw/sdcc] / device / lib / printf_large.c
index cad0a0476f93a0b0d7e63b5d4a8a1680535ee3de..ef02a052c8d27e34a1e8062da3a9789630c8d43d 100644 (file)
@@ -648,6 +648,10 @@ get_conversion_spec:
         if (char_argument)
         {
           value.l = va_arg(ap,char);
+          if (!signed_argument)
+          {
+            value.l &= 0xFF;
+          }
         }
         else if (long_argument)
         {
@@ -656,6 +660,10 @@ get_conversion_spec:
         else // must be int
         {
           value.l = va_arg(ap,int);
+          if (!signed_argument)
+          {
+            value.l &= 0xFFFF;
+          }
         }
 
         if ( signed_argument )