/* * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */ #include #include #include #include #include #include "9p.h" void* emalloc9p(uint32_t sz) { void *v; if((v = malloc(sz)) == nil) { fprint(2, "out of memory allocating %lu\n", sz); exits("mem"); } memset(v, 0, sz); setmalloctag(v, getcallerpc()); return v; } void* erealloc9p(void *v, uint32_t sz) { void *nv; if((nv = realloc(v, sz)) == nil) { fprint(2, "out of memory allocating %lu\n", sz); exits("mem"); } if(v == nil) setmalloctag(nv, getcallerpc()); setrealloctag(nv, getcallerpc()); return nv; } char* estrdup9p(char *s) { char *t; if((t = strdup(s)) == nil) { fprint(2, "out of memory in strdup(%.10s)\n", s); exits("mem"); } setmalloctag(t, getcallerpc()); return t; }