12345678910111213141516171819 |
- #include <u.h>
- #include <libc.h>
- void* listalloc(long, long);
- void *
- listalloc(long n, long size)
- {
- char *p, *base;
- size = (size+sizeof(ulong)-1)/sizeof(ulong)*sizeof(ulong);
- p = base = malloc(n*size);
- while(--n > 0){
- *(char**)p = p+size;
- p += size;
- }
- *(char**)p = 0;
- return base;
- }
|