mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-15 11:20:03 +00:00
36 lines
600 B
C
36 lines
600 B
C
|
#include <u.h>
|
||
|
#include <libc.h>
|
||
|
#include <bin.h>
|
||
|
#include <httpd.h>
|
||
|
|
||
|
/*
|
||
|
* memory allocators:
|
||
|
* h routines call canalloc; they should be used by everything else
|
||
|
* note this memory is wiped out at the start of each new request
|
||
|
* note: these routines probably shouldn't fatal.
|
||
|
*/
|
||
|
char*
|
||
|
hstrdup(HConnect *c, char *s)
|
||
|
{
|
||
|
char *t;
|
||
|
int n;
|
||
|
|
||
|
n = strlen(s) + 1;
|
||
|
t = binalloc(&c->bin, n, 0);
|
||
|
if(t == nil)
|
||
|
sysfatal("out of memory");
|
||
|
memmove(t, s, n);
|
||
|
return t;
|
||
|
}
|
||
|
|
||
|
void*
|
||
|
halloc(HConnect *c, ulong n)
|
||
|
{
|
||
|
void *p;
|
||
|
|
||
|
p = binalloc(&c->bin, n, 1);
|
||
|
if(p == nil)
|
||
|
sysfatal("out of memory");
|
||
|
return p;
|
||
|
}
|