diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2016-08-03 14:05:39 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2016-08-03 23:27:03 +0000 |
commit | 8d3743868ebce77fe03c5b1ff6435baa8d084293 (patch) | |
tree | 8db51ede8eade4de468618ac2a84c7c714ef2c5a /umask.c | |
parent | c416ff5ffa63dd502e525b36c4614a5e4b7b05f0 (diff) | |
download | strace-8d3743868ebce77fe03c5b1ff6435baa8d084293.tar.gz |
Fix printing of mode_t, umode_t, and umask types
Print numeric umode_t type using %#03ho format.
Print return value of umask syscall using %#03lo format.
When printing symbolic mode_t type, always print lower 9 bits,
and print the numeric part using %#03o format.
* defs.h (sprintmode): Remove.
(print_symbolic_mode_t, print_numeric_umode_t,
print_numeric_long_umask): New prototypes.
* printmode.c (sprintmode): Remove.
(print_symbolic_mode_t, print_numeric_umode_t,
print_numeric_long_umask): New functions.
* chmod.c (decode_chmod): Use print_numeric_umode_t.
* ipc_msg.c (SYS_FUNC(msgget)): Likewise.
* ipc_msgctl.c (print_msqid_ds): Likewise.
* ipc_sem.c (SYS_FUNC(semget)): Likewise.
* ipc_shm.c (SYS_FUNC(shmget)): Likewise.
* ipc_shmctl.c (print_shmid_ds): Likewise.
* mq.c (SYS_FUNC(mq_open)): Likewise.
* open.c (decode_open, SYS_FUNC(creat)): Likewise.
* umask.c (SYS_FUNC(umask)): Likewise.
* mknod.c (decode_mknod): Use print_symbolic_mode_t.
* printstat.h (DO_PRINTSTAT): Likewise.
* syscall.c (trace_syscall_exiting): Use print_numeric_long_umask.
* tests/umode_t.c: New file.
* tests/Makefile.am (EXTRA_DIST): Add it.
* tests/creat.c: Rewrite as a thin wrapper around umode_t.c
* tests/mkdir.c: Likewise.
* tests/mkdirat.c: Likewise.
* tests/mknod.c: Extend test coverage of mknod syscall.
* tests/mknodat.c: Extend test coverage of mknodat syscall.
* tests/umask.c: Extend test coverage of umask syscall.
* tests/creat.test: Update the value specified for strace -a parameter.
* tests/mkdir.test: Likewise.
* tests/mkdirat.test: Likewise.
* tests/mknodat.test: Likewise.
Diffstat (limited to 'umask.c')
-rw-r--r-- | umask.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -2,7 +2,7 @@ SYS_FUNC(umask) { - tprintf("%#lo", tcp->u_arg[0]); + print_numeric_umode_t(tcp->u_arg[0]); return RVAL_DECODED | RVAL_OCTAL; } |