From: Eugene Syromyatnikov Date: Thu, 29 Sep 2016 12:56:27 +0000 (+0300) Subject: Add function for getting errno string X-Git-Tag: v4.14~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6fdb10455a7215f736a7dc1fc424376d4159a18b;p=strace Add function for getting errno string * defs.h (err_name): New prototype. * syscall.c (err_name): New function. --- diff --git a/defs.h b/defs.h index b2d7da97..ff133a56 100644 --- 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 *); diff --git a/syscall.c b/syscall.c index 5c9b034d..a4eb5cd1 100644 --- 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