diff options
author | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2019-10-21 13:48:50 +0200 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2019-10-21 15:24:26 +0200 |
commit | 6d33e036119048d3edcc3217864cf08fec2d35df (patch) | |
tree | 0d7c1af251fc6dcde3c18b5cf1a63a8fe4100a0a /linux-user/strace.c | |
parent | 8f93089d0a3cde294e8bb16978a3f7fd0b2df2a3 (diff) | |
download | qemu-6d33e036119048d3edcc3217864cf08fec2d35df.zip qemu-6d33e036119048d3edcc3217864cf08fec2d35df.tar.gz qemu-6d33e036119048d3edcc3217864cf08fec2d35df.tar.bz2 |
linux-user/strace: Add print_timezone()
Suggested-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20191021114857.20538-3-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/strace.c')
-rw-r--r-- | linux-user/strace.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/linux-user/strace.c b/linux-user/strace.c index f326c35..2cd6687 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -63,6 +63,7 @@ UNUSED static void print_string(abi_long, int); UNUSED static void print_buf(abi_long addr, abi_long len, int last); UNUSED static void print_raw_param(const char *, abi_long, int); UNUSED static void print_timeval(abi_ulong, int); +UNUSED static void print_timezone(abi_ulong, int); UNUSED static void print_number(abi_long, int); UNUSED static void print_signal(abi_ulong, int); UNUSED static void print_sockaddr(abi_ulong addr, abi_long addrlen); @@ -1254,6 +1255,25 @@ print_timeval(abi_ulong tv_addr, int last) gemu_log("NULL%s", get_comma(last)); } +static void +print_timezone(abi_ulong tz_addr, int last) +{ + if (tz_addr) { + struct target_timezone *tz; + + tz = lock_user(VERIFY_READ, tz_addr, sizeof(*tz), 1); + if (!tz) { + print_pointer(tz_addr, last); + return; + } + gemu_log("{%d,%d}%s", tswap32(tz->tz_minuteswest), + tswap32(tz->tz_dsttime), get_comma(last)); + unlock_user(tz, tz_addr, 0); + } else { + gemu_log("NULL%s", get_comma(last)); + } +} + #undef UNUSED #ifdef TARGET_NR_accept |