Subversion Repositories planix.SVN

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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