-int abortonmem = 1;
-
-void *
-emalloc(ulong n)
-{
- void *p;
-
- p = malloc(n);
- if(p == nil){
- if(abortonmem)
- abort();
- sysfatal("out of memory allocating %lud", n);
- }
- memset(p, 0xa5, n);
- setmalloctag(p, getcallerpc(&n));
-if(0)print("emalloc %p-%p by %#p\n", p, (char*)p+n, getcallerpc(&n));
- return p;
-}
-
-void *
-ezmalloc(ulong n)
-{
- void *p;
-
- p = malloc(n);
- if(p == nil){
- if(abortonmem)
- abort();
- sysfatal("out of memory allocating %lud", n);
- }
- memset(p, 0, n);
- setmalloctag(p, getcallerpc(&n));
-if(0)print("ezmalloc %p-%p by %#p\n", p, (char*)p+n, getcallerpc(&n));
- return p;
-}
-
-void *
-erealloc(void *p, ulong n)
-{
- p = realloc(p, n);
- if(p == nil){
- if(abortonmem)
- abort();
- sysfatal("out of memory allocating %lud", n);
- }
- setrealloctag(p, getcallerpc(&p));
-if(0)print("erealloc %p-%p by %#p\n", p, (char*)p+n, getcallerpc(&p));
- return p;
-}
-
-char *
-estrdup(char *s)
-{
- char *t;
- int n;
-
- n = strlen(s) + 1;
- t = emalloc(n);
- memmove(t, s, n);
- setmalloctag(t, getcallerpc(&s));
-if(0)print("estrdup %p-%p by %#p\n", t, (char*)t+n, getcallerpc(&s));
- return t;
-}
-