Dmitry V. Levin
b5a23ed381
Fix multiple personalities support in parsers of utimes, futimesat, and utimensat syscalls by introducing two mpersified printers: print_timeval_pair and print_timespec_utime_pair. * print_time.c: New file. * Makefile.am (strace_SOURCES): Add it. * utimes.c (decode_utimes): Remove. (sys_utimes, sys_futimesat): Use print_timeval_pair instead of decode_utimes. (sys_utimensat): Use print_timespec_utime_pair instead of decode_utimes.
44 lines
807 B
C
44 lines
807 B
C
#include "defs.h"
|
|
|
|
SYS_FUNC(utimes)
|
|
{
|
|
printpath(tcp, tcp->u_arg[0]);
|
|
tprints(", ");
|
|
MPERS_PRINTER_NAME(print_timeval_pair)(tcp, tcp->u_arg[1]);
|
|
|
|
return RVAL_DECODED;
|
|
}
|
|
|
|
SYS_FUNC(futimesat)
|
|
{
|
|
print_dirfd(tcp, tcp->u_arg[0]);
|
|
printpath(tcp, tcp->u_arg[1]);
|
|
tprints(", ");
|
|
MPERS_PRINTER_NAME(print_timeval_pair)(tcp, tcp->u_arg[2]);
|
|
|
|
return RVAL_DECODED;
|
|
}
|
|
|
|
SYS_FUNC(utimensat)
|
|
{
|
|
print_dirfd(tcp, tcp->u_arg[0]);
|
|
printpath(tcp, tcp->u_arg[1]);
|
|
tprints(", ");
|
|
MPERS_PRINTER_NAME(print_timespec_utime_pair)(tcp, tcp->u_arg[2]);
|
|
tprints(", ");
|
|
printflags(at_flags, tcp->u_arg[3], "AT_???");
|
|
|
|
return RVAL_DECODED;
|
|
}
|
|
|
|
#ifdef ALPHA
|
|
SYS_FUNC(osf_utimes)
|
|
{
|
|
printpath(tcp, tcp->u_arg[0]);
|
|
tprints(", ");
|
|
printtv_bitness(tcp, tcp->u_arg[1], BITNESS_32, 0);
|
|
|
|
return RVAL_DECODED;
|
|
}
|
|
#endif /* ALPHA */
|