ref: 8a1c689188eee6aecb6ee28d1439a412a2437326
dir: /util.c/
#include <u.h> #include <libc.h> #include "castor.h" void * emalloc(int n) { void *v; if((v = malloc(n)) == nil) { fprint(2, "out of memory allocating %d\n", n); sysfatal("mem"); } setmalloctag(v, getcallerpc(&n)); memset(v, 0, n); return v; } char * estrdup(char *s) { char *t; if((t = strdup(s)) == nil) { fprint(2, "out of memory in strdup(%.10s)\n", s); sysfatal("mem"); } setmalloctag(t, getcallerpc(&t)); return t; } int strbeg(char *str, char *prefix) { return strncmp(str, prefix, strlen(prefix)) == 0 ? 0 : -1; }