diff options
author | rodri <rgl@antares-labs.eu> | 2024-09-05 15:45:27 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-09-05 15:45:27 +0000 |
commit | 97bc549d4b8bf638946ac4ff3b066941bca9a03b (patch) | |
tree | 5bd5ca788c8e3577dda001e0454157c9408ac08f /alloc.c | |
parent | 11087295a24b0a8d08897824c7ee9676026fa159 (diff) | |
download | semblance-97bc549d4b8bf638946ac4ff3b066941bca9a03b.tar.gz semblance-97bc549d4b8bf638946ac4ff3b066941bca9a03b.tar.bz2 semblance-97bc549d4b8bf638946ac4ff3b066941bca9a03b.zip |
initial compiler work.
Diffstat (limited to 'alloc.c')
-rw-r--r-- | alloc.c | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ +#include <u.h> +#include <libc.h> + +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; +} |