Plan 9 from Bell Labs’s /n/sources/plan9/sys/src/cmd/9nfs/listalloc.c

Copyright © 2009 Alcatel-Lucent.
Distributed under the Lucent Public License version 1.02.
Download the Plan 9 distribution.


#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;
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2009 Alcatel-Lucent. All Rights Reserved.
Comments to webmaster@plan9.bell-labs.com.