process.c: move uname parser to a separate file
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 11 Dec 2014 19:25:02 +0000 (19:25 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 11 Dec 2014 22:04:01 +0000 (22:04 +0000)
* uname.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* process.c (sys_uname): Move to uname.c.

Makefile.am
process.c
uname.c [new file with mode: 0644]

index 93421237ac17c3fb11920b0a333c2ee3cf245527..ba5e23a7151470f4ea2e2fed21e6e461fee99a56 100644 (file)
@@ -90,6 +90,7 @@ strace_SOURCES =      \
        truncate.c      \
        umask.c         \
        umount.c        \
+       uname.c         \
        util.c          \
        utime.c         \
        utimes.c        \
index 0536227854c9bac5e551e8289f47da8757f58b73..89ce0aade4fc5fd25c110dbbbf95a7e3ab4cc073 100644 (file)
--- a/process.c
+++ b/process.c
@@ -39,7 +39,6 @@
 #include <sys/stat.h>
 #include <sys/wait.h>
 #include <sys/resource.h>
-#include <sys/utsname.h>
 #include <sys/user.h>
 #ifdef HAVE_ELF_H
 # include <elf.h>
@@ -826,34 +825,6 @@ sys_waitid(struct tcb *tcp)
        return 0;
 }
 
-int
-sys_uname(struct tcb *tcp)
-{
-       struct utsname uname;
-
-       if (exiting(tcp)) {
-               if (syserror(tcp) || !verbose(tcp))
-                       tprintf("%#lx", tcp->u_arg[0]);
-               else if (umove(tcp, tcp->u_arg[0], &uname) < 0)
-                       tprints("{...}");
-               else if (!abbrev(tcp)) {
-                       tprintf("{sysname=\"%s\", nodename=\"%s\", ",
-                               uname.sysname, uname.nodename);
-                       tprintf("release=\"%s\", version=\"%s\", ",
-                               uname.release, uname.version);
-                       tprintf("machine=\"%s\"", uname.machine);
-#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
-                       tprintf(", domainname=\"%s\"", uname.domainname);
-#endif
-                       tprints("}");
-               }
-               else
-                       tprintf("{sys=\"%s\", node=\"%s\", ...}",
-                               uname.sysname, uname.nodename);
-       }
-       return 0;
-}
-
 #include "xlat/ptrace_cmds.h"
 #include "xlat/ptrace_setoptions_flags.h"
 #include "xlat/nt_descriptor_types.h"
diff --git a/uname.c b/uname.c
new file mode 100644 (file)
index 0000000..d1b195e
--- /dev/null
+++ b/uname.c
@@ -0,0 +1,31 @@
+#include "defs.h"
+
+#include <sys/utsname.h>
+
+int
+sys_uname(struct tcb *tcp)
+{
+       struct utsname uname;
+
+       if (exiting(tcp)) {
+               if (syserror(tcp) || !verbose(tcp))
+                       tprintf("%#lx", tcp->u_arg[0]);
+               else if (umove(tcp, tcp->u_arg[0], &uname) < 0)
+                       tprints("{...}");
+               else if (!abbrev(tcp)) {
+                       tprintf("{sysname=\"%s\", nodename=\"%s\", ",
+                               uname.sysname, uname.nodename);
+                       tprintf("release=\"%s\", version=\"%s\", ",
+                               uname.release, uname.version);
+                       tprintf("machine=\"%s\"", uname.machine);
+#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
+                       tprintf(", domainname=\"%s\"", uname.domainname);
+#endif
+                       tprints("}");
+               }
+               else
+                       tprintf("{sys=\"%s\", node=\"%s\", ...}",
+                               uname.sysname, uname.nodename);
+       }
+       return 0;
+}