From: Dmitry V. Levin Date: Sat, 6 Dec 2014 03:53:16 +0000 (+0000) Subject: file.c: move chmod, fchmod, and fchmodat parsers to a separate file X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad5cf1e5ae0fa02a1e580a01c04745e5ff52522d;p=platform%2Fupstream%2Fstrace.git file.c: move chmod, fchmod, and fchmodat parsers to a separate file * chmod.c: New file. * Makefile.am (strace_SOURCES): Add it. * file.c (sys_chmod, sys_fchmodat, sys_fchmod): Move to chmod.c. --- diff --git a/Makefile.am b/Makefile.am index 5452d00b..664475e7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,6 +22,7 @@ strace_SOURCES = \ block.c \ cacheflush.c \ capability.c \ + chmod.c \ count.c \ desc.c \ dirent.c \ diff --git a/chmod.c b/chmod.c new file mode 100644 index 00000000..89453a98 --- /dev/null +++ b/chmod.c @@ -0,0 +1,35 @@ +#include "defs.h" + +static int +decode_chmod(struct tcb *tcp, int offset) +{ + if (entering(tcp)) { + printpath(tcp, tcp->u_arg[offset]); + tprintf(", %#lo", tcp->u_arg[offset + 1]); + } + return 0; +} + +int +sys_chmod(struct tcb *tcp) +{ + return decode_chmod(tcp, 0); +} + +int +sys_fchmodat(struct tcb *tcp) +{ + if (entering(tcp)) + print_dirfd(tcp, tcp->u_arg[0]); + return decode_chmod(tcp, 1); +} + +int +sys_fchmod(struct tcb *tcp) +{ + if (entering(tcp)) { + printfd(tcp, tcp->u_arg[0]); + tprintf(", %#lo", tcp->u_arg[1]); + } + return 0; +} diff --git a/file.c b/file.c index 95b2c32a..dabd7298 100644 --- a/file.c +++ b/file.c @@ -1424,37 +1424,3 @@ sys_fchown(struct tcb *tcp) } return 0; } - -static int -decode_chmod(struct tcb *tcp, int offset) -{ - if (entering(tcp)) { - printpath(tcp, tcp->u_arg[offset]); - tprintf(", %#lo", tcp->u_arg[offset + 1]); - } - return 0; -} - -int -sys_chmod(struct tcb *tcp) -{ - return decode_chmod(tcp, 0); -} - -int -sys_fchmodat(struct tcb *tcp) -{ - if (entering(tcp)) - print_dirfd(tcp, tcp->u_arg[0]); - return decode_chmod(tcp, 1); -} - -int -sys_fchmod(struct tcb *tcp) -{ - if (entering(tcp)) { - printfd(tcp, tcp->u_arg[0]); - tprintf(", %#lo", tcp->u_arg[1]); - } - return 0; -}