ata_id: unbotch format specifier
authorJan Engelhardt <jengelh@inai.de>
Tue, 23 Jun 2015 23:48:18 +0000 (01:48 +0200)
committerHarald Hoyer <harald@redhat.com>
Wed, 24 Jun 2015 00:02:05 +0000 (02:02 +0200)
Commit v218-247-g11c6f69 broke the output of the utility. "%1$" PRIu64
"x" expands to "%1$lux", essentially "%lux", which shows the problem.
u and x cannot be combined, u wins as the type character, and x gets
emitted verbatim to stdout.

References: https://bugzilla.redhat.com/show_bug.cgi?id=1227503

src/udev/ata_id/ata_id.c

index cc1bf45..7ba0b7f 100644 (file)
@@ -639,8 +639,8 @@ int main(int argc, char *argv[])
                  */
                 word = identify.wyde[108];
                 if ((word & 0xf000) == 0x5000)
-                        printf("ID_WWN=0x%1$"PRIu64"x\n"
-                               "ID_WWN_WITH_EXTENSION=0x%1$"PRIu64"x\n",
+                        printf("ID_WWN=0x%1$" PRIx64 "\n"
+                               "ID_WWN_WITH_EXTENSION=0x%1$" PRIx64 "\n",
                                identify.octa[108/4]);
 
                 /* from Linux's include/linux/ata.h */