From 97bc549d4b8bf638946ac4ff3b066941bca9a03b Mon Sep 17 00:00:00 2001 From: rodri Date: Thu, 5 Sep 2024 15:45:27 +0000 Subject: initial compiler work. --- alloc.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 alloc.c (limited to 'alloc.c') diff --git a/alloc.c b/alloc.c new file mode 100644 index 0000000..afd57bc --- /dev/null +++ b/alloc.c @@ -0,0 +1,43 @@ +#include +#include + +void * +emalloc(ulong n) +{ + void *p; + + p = malloc(n); + if(p == nil) + sysfatal("malloc: %r"); + setmalloctag(p, getcallerpc(&n)); + return p; +} + +void * +erealloc(void *p, ulong n) +{ + void *np; + + np = realloc(p, n); + if(np == nil){ + if(n == 0) + return nil; + sysfatal("realloc: %r"); + } + if(p == nil) + setmalloctag(np, getcallerpc(&p)); + else + setrealloctag(np, getcallerpc(&p)); + return np; +} + +char * +estrdup(char *s) +{ + char *ns; + + ns = strdup(s); + if(ns == nil) + sysfatal("strdup: %r"); + return ns; +} -- cgit v1.2.3