diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2014-12-06 03:53:16 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2014-12-11 21:39:30 +0000 |
commit | 6d20a0b9a3973127140a0eb69d4e0bc8e16c6822 (patch) | |
tree | 680614b3646a9139b8aa90817a72adee7662334d /renameat.c | |
parent | 2b7a53bff5117dfceb7c56603056f4d11d20d269 (diff) | |
download | strace-6d20a0b9a3973127140a0eb69d4e0bc8e16c6822.tar.gz |
file.c: move renameat and renameat2 parsers to a separate file
* renameat.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* file.c: Move sys_renameat, sys_renameat2, and related code
to renameat.c.
Diffstat (limited to 'renameat.c')
-rw-r--r-- | renameat.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/renameat.c b/renameat.c new file mode 100644 index 000000000..bf3dd793e --- /dev/null +++ b/renameat.c @@ -0,0 +1,33 @@ +#include "defs.h" + +static void +decode_renameat(struct tcb *tcp) +{ + print_dirfd(tcp, tcp->u_arg[0]); + printpath(tcp, tcp->u_arg[1]); + tprints(", "); + print_dirfd(tcp, tcp->u_arg[2]); + printpath(tcp, tcp->u_arg[3]); +} + +int +sys_renameat(struct tcb *tcp) +{ + if (entering(tcp)) { + decode_renameat(tcp); + } + return 0; +} + +#include "xlat/rename_flags.h" + +int +sys_renameat2(struct tcb *tcp) +{ + if (entering(tcp)) { + decode_renameat(tcp); + tprints(", "); + printflags(rename_flags, tcp->u_arg[4], "RENAME_??"); + } + return 0; +} |