diff options
Diffstat (limited to 'contrib/opie/libmissing/strerror.c')
-rw-r--r-- | contrib/opie/libmissing/strerror.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/contrib/opie/libmissing/strerror.c b/contrib/opie/libmissing/strerror.c new file mode 100644 index 000000000000..89632f9fe816 --- /dev/null +++ b/contrib/opie/libmissing/strerror.c @@ -0,0 +1,34 @@ +/* strerror.c: A replacement for the strerror function + +%%% copyright-cmetz +This software is Copyright 1996 by Craig Metz, All Rights Reserved. +The Inner Net License Version 2 applies to this software. +You should have received a copy of the license with this software. If +you didn't get a copy, you may request one from <license@inner.net>. + + History: + + Created by cmetz for OPIE 2.2. +*/ + +#include "opie_cfg.h" +#include "opie.h" + +char *strerror FUNCTION((errnum), int errnum) +{ +#if HAVE_SYS_ERRLIST + extern char *sys_errlist[]; + return sys_errlist[errnum]; +#else /* NEED_STRERROR */ +#if HAVE__SYS_ERRLIST + extern char *_sys_errlist[]; + return sys_errlist[errnum]; +#else /* HAVE__SYS_ERRLIST */ + static char hexdigits[] = "0123456789abcdef"; + static char buffer[] = "System error 0x42"; + buffer[15] = hexdigits[(errnum >> 4) & 0x0f]; + buffer[16] = hexdigits[errnum & 0x0f]; + return buffer; +#endif /* HAVE__SYS_ERRLIST */ +#endif /* NEED_STRERROR */ +} |