]> granicus.if.org Git - strace/blobdiff - uname.c
bpf: honor xlat styles when printing kernel version
[strace] / uname.c
diff --git a/uname.c b/uname.c
index a63295e1231c561c0ef5cba0eb15a8ee265a4093..02f21178612fe62cfbea503e9fd1551fb223fb3a 100644 (file)
--- a/uname.c
+++ b/uname.c
@@ -4,6 +4,7 @@
  * Copyright (c) 1993-1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2012-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -30,7 +31,7 @@
  */
 
 #include "defs.h"
-
+#include "print_fields.h"
 #include <sys/utsname.h>
 
 SYS_FUNC(uname)
@@ -41,24 +42,17 @@ SYS_FUNC(uname)
                return 0;
 
        if (!umove_or_printaddr(tcp, tcp->u_arg[0], &uname)) {
-#define PRINT_UTS_MEMBER(prefix, member)                               \
-       do {                                                            \
-               tprints(prefix #member "=");                            \
-               print_quoted_string(uname.member, sizeof(uname.member), \
-                                   QUOTE_0_TERMINATED);                \
-       } while (0)
-
-               PRINT_UTS_MEMBER("{", sysname);
-               PRINT_UTS_MEMBER(", ", nodename);
+               PRINT_FIELD_CSTRING("{", uname, sysname);
+               PRINT_FIELD_CSTRING(", ", uname, nodename);
                if (abbrev(tcp)) {
                        tprints(", ...}");
                        return 0;
                }
-               PRINT_UTS_MEMBER(", ", release);
-               PRINT_UTS_MEMBER(", ", version);
-               PRINT_UTS_MEMBER(", ", machine);
+               PRINT_FIELD_CSTRING(", ", uname, release);
+               PRINT_FIELD_CSTRING(", ", uname, version);
+               PRINT_FIELD_CSTRING(", ", uname, machine);
 #ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
-               PRINT_UTS_MEMBER(", ", domainname);
+               PRINT_FIELD_CSTRING(", ", uname, domainname);
 #endif
                tprints("}");
        }