diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2015-02-28 20:42:57 -0500 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2015-02-28 20:42:57 -0500 |
| commit | 2dc45e8cac33313e847f6097cbe2ba3bb3ceab2a (patch) | |
| tree | 973fa836d725659a6f0a8edfc108dd9e037430d0 /libc | |
| parent | d4a70e316e0991d788fb922e3e4eafae97fe950e (diff) | |
| download | kappa-2dc45e8cac33313e847f6097cbe2ba3bb3ceab2a.zip kappa-2dc45e8cac33313e847f6097cbe2ba3bb3ceab2a.tar.gz kappa-2dc45e8cac33313e847f6097cbe2ba3bb3ceab2a.tar.bz2 kappa-2dc45e8cac33313e847f6097cbe2ba3bb3ceab2a.tar.xz | |
Implement paging
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/include/stdlib.h | 4 | ||||
| -rw-r--r-- | libc/stdlib.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h index 49116df..ffe9073 100644 --- a/libc/include/stdlib.h +++ b/libc/include/stdlib.h @@ -2,6 +2,7 @@ #define _STDLIB_H_ #include <stddef.h> +#include <stdio.h> /* this is by no means standards-compliant... but who cares? :P */ @@ -18,5 +19,8 @@ void srand(unsigned int); int abs(int); void *malloc(size_t); int snprintf(char*, int, const char*, ...); +void assert_fail(const char*, const char*, int); + +#define assert(x) if(!(x))assert_fail(__func__, __FILE__, __LINE__); #endif diff --git a/libc/stdlib.c b/libc/stdlib.c index c6a9c3d..bb30039 100644 --- a/libc/stdlib.c +++ b/libc/stdlib.c @@ -2,6 +2,7 @@ #include <stddef.h> #include <stdint.h> #include <stdlib.h> +#include "panic.h" /* adapted from <http://www.strudel.org.uk/itoa/> */ char* itoa(int val, int base) @@ -150,3 +151,9 @@ int snprintf(char *buf, int sz, const char *fmt, ...) va_end(ap); return 0; } + +void assert_fail(const char *func, const char *file, int line) +{ + printf("\nAssertion failed in function %s in file %s, line %d\n", func, file, line); + panic("assertion failed!\n"); +} |