talloc.c - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
talloc.c (600B)
---
1 #include <u.h>
2 #include <libc.h>
3 #include <bin.h>
4 #include <httpd.h>
5
6 /*
7 * memory allocators:
8 * h routines call canalloc; they should be used by everything else
9 * note this memory is wiped out at the start of each new request
10 * note: these routines probably shouldn't fatal.
11 */
12 char*
13 hstrdup(HConnect *c, char *s)
14 {
15 char *t;
16 int n;
17
18 n = strlen(s) + 1;
19 t = binalloc(&c->bin, n, 0);
20 if(t == nil)
21 sysfatal("out of memory");
22 memmove(t, s, n);
23 return t;
24 }
25
26 void*
27 halloc(HConnect *c, ulong n)
28 {
29 void *p;
30
31 p = binalloc(&c->bin, n, 1);
32 if(p == nil)
33 sysfatal("out of memory");
34 return p;
35 }