[systemd-devel] [PATCH] ata_id: unbotch format specifier

Jan Engelhardt jengelh at inai.de
Tue Jun 23 16:48:18 PDT 2015


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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/udev/ata_id/ata_id.c b/src/udev/ata_id/ata_id.c
index cc1bf45..7ba0b7f 100644
--- a/src/udev/ata_id/ata_id.c
+++ b/src/udev/ata_id/ata_id.c
@@ -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 */
-- 
2.4.3



More information about the systemd-devel mailing list