Fix printing large decimal values in strings.
authorNick Clifton <nickc@redhat.com>
Mon, 10 Jun 2019 14:30:02 +0000 (15:30 +0100)
committerNick Clifton <nickc@redhat.com>
Mon, 10 Jun 2019 14:30:02 +0000 (15:30 +0100)
PR 24651
* strings.c (print_strings): Use %u to print unsigned values in
decimal.

binutils/ChangeLog
binutils/strings.c

index b845cac..5565bb5 100644 (file)
@@ -1,5 +1,11 @@
 2019-06-10  Christos Zoulas  <christos@zoulas.com>
 
+       PR 24651
+       * strings.c (print_strings): Use %u to print unsigned values in
+       decimal.
+
+2019-06-10  Christos Zoulas  <christos@zoulas.com>
+
        PR 24649
        * arsup.c (ar_open): Use asprintf in place of xmalloc and
        sprintf.
index 648bdc0..ea48f92 100644 (file)
@@ -633,7 +633,7 @@ print_strings (const char *filename, FILE *stream, file_ptr address,
            if (sizeof (start) > sizeof (long))
              {
 # ifndef __MSVCRT__
-               printf ("%7lld ", (unsigned long long) start);
+               printf ("%7llu ", (unsigned long long) start);
 # else
                printf ("%7I64d ", (unsigned long long) start);
 # endif
@@ -641,7 +641,7 @@ print_strings (const char *filename, FILE *stream, file_ptr address,
            else
 #elif !BFD_HOST_64BIT_LONG
              if (start != (unsigned long) start)
-               printf ("++%7ld ", (unsigned long) start);
+               printf ("++%7lu ", (unsigned long) start);
              else
 #endif
                printf ("%7ld ", (long) start);