Usermode/libc,libposix - Fixing errors in headers
authorJohn Hodge <[email protected]>
Mon, 1 Jul 2013 14:27:32 +0000 (22:27 +0800)
committerJohn Hodge <[email protected]>
Mon, 1 Jul 2013 14:27:32 +0000 (22:27 +0800)
Usermode/Libraries/libc.so_src/include_exp/ctype.h
Usermode/Libraries/libc.so_src/include_exp/errno.h
Usermode/Libraries/libc.so_src/include_exp/stdlib.h
Usermode/Libraries/libposix.so_src/include_exp/sys/types.h

index ddb0a61..0d437e9 100644 (file)
@@ -27,6 +27,11 @@ static inline int toupper(int ch) {
                return ch - 'a' + 'A';
        return ch;
 }
+static inline int tolower(int ch) {
+       if('A'<=ch && ch <='Z')
+               return ch - 'A' + 'a';
+       return ch;
+}
 
 static inline int isspace(int ch) {
        if(ch == ' ')   return 1;
index 213aeba..2fc26a3 100644 (file)
@@ -10,7 +10,7 @@
 
 // TODO: Fully implement errno.h, make sure it matches the kernel one
 
-extern int     *libc_geterrno();
+extern int     *libc_geterrno(void);
 #define        errno   (*libc_geterrno())
 
 extern const char      *strerr(int errnum);
index acba082..0dae764 100644 (file)
@@ -34,7 +34,6 @@ extern float  atof(const char *ptr);
 extern void    exit(int status) __attribute__((noreturn));\r
 extern void    abort(void);\r
 extern void    atexit(void (*__func)(void));\r
-extern void    qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));\r
 extern int     abs(int j);\r
 extern long int        labs(long int j);\r
 extern long long int   llabs(long long int j);\r
@@ -42,6 +41,11 @@ extern long long int llabs(long long int j);
 /* --- Environment --- */\r
 extern char    *getenv(const char *name);\r
 \r
+/* --- Search/Sort --- */\r
+typedef int (*_stdlib_compar_t)(const void *, const void *);\r
+extern void    *bsearch(const void *key, const void *base, size_t nmemb, size_t size, _stdlib_compar_t compar);\r
+extern void    qsort(void *base, size_t nmemb, size_t size, _stdlib_compar_t compar);\r
+\r
 /* --- Heap --- */\r
 extern void    free(void *mem);\r
 extern void    *malloc(size_t bytes);\r
index c6cdc02..1223857 100644 (file)
@@ -3,6 +3,8 @@
 #ifndef _SYS_TYPES_H
 #define _SYS_TYPES_H
 
+#include <stddef.h>
+
 //typedef signed int   ssize_t;
 //#ifdef  __USE_BSD
 typedef unsigned int   u_int;

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