xref: /plan9/sys/src/cmd/9nfs/listalloc.c (revision 50e5f38d649a06ef8aef42696e09b6c4c5964957)
1 #include <u.h>
2 #include <libc.h>
3 
4 void*	listalloc(long, long);
5 
6 void *
listalloc(long n,long size)7 listalloc(long n, long size)
8 {
9 	char *p, *base;
10 
11 	size = (size+sizeof(ulong)-1)/sizeof(ulong)*sizeof(ulong);
12 	p = base = malloc(n*size);
13 	while(--n > 0){
14 		*(char**)p = p+size;
15 		p += size;
16 	}
17 	*(char**)p = 0;
18 	return base;
19 }
20