X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2Ferrno.c;h=6f9545749e8f246715e0e0e8a48da970c0b3e143;hb=12c9ce3978373fcadb7015e75cce56f6e181488d;hp=a2d789098df0880352c913b0a8c3b663c32e12d8;hpb=e31f60edab8600254145b8c5dbfcca423c75260b;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/errno.c b/Usermode/Libraries/libc.so_src/errno.c index a2d78909..6f954574 100644 --- a/Usermode/Libraries/libc.so_src/errno.c +++ b/Usermode/Libraries/libc.so_src/errno.c @@ -6,6 +6,7 @@ * - errno and strerror */ #include "lib.h" +#include #include #include #include @@ -44,7 +45,9 @@ EXPORT char *strerror(int errnum) case EPERM: return "Operation not permitted"; case ENOTTY: return "Not a TTY"; case EAGAIN: return "Try again"; + case EFBIG: return "File too big"; case EALREADY: return "Operation was no-op"; + case EAFNOSUPPORT: return "Address family not supported"; case EINTERNAL: return "Internal error"; } _SysDebug("strerror: errnum=%i unk", errnum); @@ -62,3 +65,16 @@ EXPORT int strerror_r(int errnum, char *buf, size_t bufsiz) return 0; } +// stdio.h +EXPORT void perror(const char *s) +{ + int err = errno; + if( s && s[0] ) { + fprintf(stderr, "%s: (%i) %s\n", s, err, strerror(err)); + } + else { + fprintf(stderr, "(%i) %s\n", err, strerror(err)); + } + _SysDebug("perror('%s'): %s (%i)", s, strerror(err), err); +} +