X-Git-Url: http://git.tuebingen.mpg.de/?p=adu.git;a=blobdiff_plain;f=adu.c;fp=adu.c;h=7d133d619836e3340e5bce2f6b2b3bf83b39d789;hp=0cd1644c236c17908656eb25c24c12084b7c9967;hb=ce0adfac23ad42e907118cb1dd1d91ad16a9ef33;hpb=3d29aa18911043879fcd4412fa25b0ab5f5e95bb diff --git a/adu.c b/adu.c index 0cd1644..7d133d6 100644 --- a/adu.c +++ b/adu.c @@ -125,6 +125,25 @@ __printf_2_3 void __log(int ll, const char* fmt,...) va_end(argp); } +/** + * adu's version of strerror(3). + * + * \param num The error number. + * + * \return The error text of \a num. + */ +const char *adu_strerror(int num) +{ + assert(num > 0); + if (num == E_OSL) { + assert(osl_errno > 0); + return osl_strerror((osl_errno)); + } + if (IS_SYSTEM_ERROR(num)) + return strerror((num) & ((1 << SYSTEM_ERROR_BIT) - 1)); + return adu_errlist[num]; +} + static void close_dir_table(void) { int ret;