#include #include #include // ----------------------------------------------------------------------- // Arena allocator static mem·Arena* ARENA; static void* bio·alloc(ulong size) { return mem·arenaalloc(ARENA, size); } static void* bio·realloc(void *ptr, ulong size) { void* new = mem·arenaalloc(ARENA, size); memcpy(new, ptr, size); return new; } static void bio·free(void *ptr) { /* stub */ } static mem·Allocator arena = {.alloc = &bio·alloc, .realloc = &bio·realloc, .free = &bio·free }; // ----------------------------------------------------------------------- // Point of entry for testing void init() { ARENA = mem·newarena(mem·sys); } int main() { init(); error err; bio·Tree t; Stream *fd[2]; fd[0] = io·open("/home/nolln/root/data/test/example.nwk", "r"); fd[1] = io·open("/home/nolln/root/data/test/example.proc.nwk", "w"); printf("starting\n"); t = bio·readnewick(fd[0], arena); err = bio·writenewick(t, fd[1]); printf("ending\n"); io·close(fd[0]); io·close(fd[1]); return 0; }