]> granicus.if.org Git - strace/commitdiff
Add function for getting errno string
authorEugene Syromyatnikov <evgsyr@gmail.com>
Thu, 29 Sep 2016 12:56:27 +0000 (15:56 +0300)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 3 Oct 2016 11:54:49 +0000 (11:54 +0000)
* defs.h (err_name): New prototype.
* syscall.c (err_name): New function.

defs.h
syscall.c

diff --git a/defs.h b/defs.h
index b2d7da97109663be9fdf554859c626e5c52e19b9..ff133a560c98024da8cdc231c120112ff27f8e3b 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -453,6 +453,7 @@ extern void clear_regs(void);
 extern void get_regs(pid_t pid);
 extern int get_scno(struct tcb *tcp);
 extern const char *syscall_name(long scno);
+extern const char *err_name(unsigned long err);
 
 extern bool is_erestart(struct tcb *);
 extern void temporarily_clear_syserror(struct tcb *);
index 5c9b034dc850a1ca8614f2c90a39e6c949380ae5..a4eb5cd19c63814e6a1738e30e05b9b8fe8223f0 100644 (file)
--- a/syscall.c
+++ b/syscall.c
@@ -767,6 +767,15 @@ syscall_name(long scno)
        }
 }
 
+const char *
+err_name(unsigned long err)
+{
+       if ((err < nerrnos) && errnoent[err])
+               return errnoent[err];
+
+       return NULL;
+}
+
 static long get_regs_error;
 
 void