]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
hexdump: use 'll' format modifier instead of the non-standard 'q'.
authorNatanael Copa <ncopa@alpinelinux.org>
Wed, 29 Oct 2014 09:04:27 +0000 (09:04 +0000)
committerKarel Zak <kzak@redhat.com>
Fri, 31 Oct 2014 09:39:18 +0000 (10:39 +0100)
The printf(3) man page says about 'q':
("quad". 4.4BSD and Linux libc5 only. Don't use.) This is a synonym for ll.

This fixes hexdump with musl libc.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
text-utils/hexdump-parse.c

index 8d14c5b980c2d3f80cabcc3515a4caa867db927e..9eb016d6a1e0a97535186835e1924a0cf5e14cd7 100644 (file)
@@ -226,7 +226,7 @@ void rewrite_rules(struct hexdump_fs *fs, struct hexdump *hex)
        struct hexdump_fu *fu;
        struct list_head *p, *q;
        char *p1, *p2, *fmtp;
-       char savech, cs[3];
+       char savech, cs[4];
        int nconv, prec = 0;
 
        list_for_each (p, &fs->fulist) {
@@ -301,9 +301,10 @@ void rewrite_rules(struct hexdump_fs *fs, struct hexdump *hex)
                                goto isint;
                        } else if (first_letter(cs, "ouxX")) {
                                pr->flags = F_UINT;
-isint:                         cs[2] = '\0';
-                               cs[1] = cs[0];
-                               cs[0] = 'q';
+isint:                         cs[3] = '\0';
+                               cs[2] = cs[0];
+                               cs[1] = 'l';
+                               cs[0] = 'l';
                                switch(fu->bcnt) {
                                        case 0:
                                                pr->bcnt = 4;
@@ -355,9 +356,10 @@ isint:                             cs[2] = '\0';
                                                pr->flags = F_ADDRESS;
                                                ++p2;
                                                if (first_letter(p1 + 2, "dox")) {
-                                                       cs[0] = 'q';
-                                                       cs[1] = p1[2];
-                                                       cs[2] = '\0';
+                                                       cs[0] = 'l';
+                                                       cs[1] = 'l';
+                                                       cs[2] = p1[2];
+                                                       cs[3] = '\0';
                                                } else {
                                                        p1[3] = '\0';
                                                        badconv(p1);