17dd7cddfSDavid du Colombier #include "l.h"
27dd7cddfSDavid du Colombier
37dd7cddfSDavid du Colombier /*
47dd7cddfSDavid du Colombier * fake malloc
57dd7cddfSDavid du Colombier */
67dd7cddfSDavid du Colombier void*
malloc(ulong n)77dd7cddfSDavid du Colombier malloc(ulong n)
87dd7cddfSDavid du Colombier {
97dd7cddfSDavid du Colombier void *p;
107dd7cddfSDavid du Colombier
117dd7cddfSDavid du Colombier while(n & 7)
127dd7cddfSDavid du Colombier n++;
137dd7cddfSDavid du Colombier while(nhunk < n)
147dd7cddfSDavid du Colombier gethunk();
157dd7cddfSDavid du Colombier p = hunk;
167dd7cddfSDavid du Colombier nhunk -= n;
177dd7cddfSDavid du Colombier hunk += n;
187dd7cddfSDavid du Colombier return p;
197dd7cddfSDavid du Colombier }
207dd7cddfSDavid du Colombier
217dd7cddfSDavid du Colombier void
free(void * p)227dd7cddfSDavid du Colombier free(void *p)
237dd7cddfSDavid du Colombier {
247dd7cddfSDavid du Colombier USED(p);
257dd7cddfSDavid du Colombier }
267dd7cddfSDavid du Colombier
277dd7cddfSDavid du Colombier void*
calloc(ulong m,ulong n)287dd7cddfSDavid du Colombier calloc(ulong m, ulong n)
297dd7cddfSDavid du Colombier {
307dd7cddfSDavid du Colombier void *p;
317dd7cddfSDavid du Colombier
327dd7cddfSDavid du Colombier n *= m;
337dd7cddfSDavid du Colombier p = malloc(n);
347dd7cddfSDavid du Colombier memset(p, 0, n);
357dd7cddfSDavid du Colombier return p;
367dd7cddfSDavid du Colombier }
377dd7cddfSDavid du Colombier
387dd7cddfSDavid du Colombier void*
realloc(void *,ulong)397dd7cddfSDavid du Colombier realloc(void*, ulong)
407dd7cddfSDavid du Colombier {
417dd7cddfSDavid du Colombier fprint(2, "realloc called\n");
427dd7cddfSDavid du Colombier abort();
437dd7cddfSDavid du Colombier return 0;
447dd7cddfSDavid du Colombier }
457dd7cddfSDavid du Colombier
467dd7cddfSDavid du Colombier void*
mysbrk(ulong size)477dd7cddfSDavid du Colombier mysbrk(ulong size)
487dd7cddfSDavid du Colombier {
497dd7cddfSDavid du Colombier return sbrk(size);
507dd7cddfSDavid du Colombier }
51c0cd66e9SDavid du Colombier
52c0cd66e9SDavid du Colombier void
setmalloctag(void * v,ulong pc)53c0cd66e9SDavid du Colombier setmalloctag(void *v, ulong pc)
54c0cd66e9SDavid du Colombier {
55c0cd66e9SDavid du Colombier USED(v, pc);
56c0cd66e9SDavid du Colombier }
57*b87cd620SDavid du Colombier
58*b87cd620SDavid du Colombier int
fileexists(char * s)59*b87cd620SDavid du Colombier fileexists(char *s)
60*b87cd620SDavid du Colombier {
61*b87cd620SDavid du Colombier uchar dirbuf[400];
62*b87cd620SDavid du Colombier
63*b87cd620SDavid du Colombier /* it's fine if stat result doesn't fit in dirbuf, since even then the file exists */
64*b87cd620SDavid du Colombier return stat(s, dirbuf, sizeof(dirbuf)) >= 0;
65*b87cd620SDavid du Colombier }
66