From 6b9c8e04f93c0c45ea0bb0b2bdbb351d93f51077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Sat, 17 Nov 2001 17:18:36 +0000 Subject: [PATCH] Print the correct return code for successful Linux syscalls. Submitted by: Vitezslav Novy PR: 32036 MFC after: 1 week --- usr.bin/truss/amd64-linux32.c | 3 ++- usr.bin/truss/i386-linux.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.bin/truss/amd64-linux32.c b/usr.bin/truss/amd64-linux32.c index 158bc95cc8c..27b964e41cb 100644 --- a/usr.bin/truss/amd64-linux32.c +++ b/usr.bin/truss/amd64-linux32.c @@ -246,7 +246,8 @@ i386_linux_syscall_exit(int pid, int syscall) { if (retval == bsd_to_linux_errno[i]) break; } - print_syscall_ret(outfile, lsc.name, lsc.nargs, lsc.s_args, errorp, i); + print_syscall_ret(outfile, lsc.name, lsc.nargs, lsc.s_args, errorp, + errorp ? i : retval); clear_lsc(); return; } diff --git a/usr.bin/truss/i386-linux.c b/usr.bin/truss/i386-linux.c index 158bc95cc8c..27b964e41cb 100644 --- a/usr.bin/truss/i386-linux.c +++ b/usr.bin/truss/i386-linux.c @@ -246,7 +246,8 @@ i386_linux_syscall_exit(int pid, int syscall) { if (retval == bsd_to_linux_errno[i]) break; } - print_syscall_ret(outfile, lsc.name, lsc.nargs, lsc.s_args, errorp, i); + print_syscall_ret(outfile, lsc.name, lsc.nargs, lsc.s_args, errorp, + errorp ? i : retval); clear_lsc(); return; }