Usermode/IRC - Update to handle PTY dims
[tpg/acess2.git] / Usermode / Libraries / libc.so_src / errno.c
1 /*
2  * Acess2 C Library
3  * - By John Hodge (thePowersGang)
4  * 
5  * errno.c
6  * - errno and strerror
7  */
8 #include "lib.h"
9 #include <stdio.h>
10 #include <errno.h>
11 #include <acess/sys.h>
12
13 EXPORT int *libc_geterrno()
14 {
15         return &_errno;
16 }
17
18 EXPORT const char *strerror(int errnum)
19 {
20         switch(errnum)
21         {
22         case ENOSYS:    return "Invalid instruction/syscall";
23         case ENOENT:    return "No such file or directory";
24         case EINVAL:    return "Bad arguments";
25         case EPERM:     return "Permissions error";
26         default:
27                 _SysDebug("strerror: errnum=%i unk", errnum);
28                 return "unknown error";
29         }
30 }
31
32 // stdio.h
33 EXPORT void perror(const char *s)
34 {
35         int err = errno;
36         if( s && s[0] ) {
37                 fprintf(stderr, "%s: (%i) %s\n", s, err, strerror(err));
38         }
39         else {
40                 fprintf(stderr, "(%i) %s\n", err, strerror(err));
41         }
42         _SysDebug("perror('%s'): %s (%i)", s, strerror(err), err);
43 }
44

UCC git Repository :: git.ucc.asn.au