Index: trunk/src/libcschem/Makefile.in =================================================================== --- trunk/src/libcschem/Makefile.in (revision 358) +++ trunk/src/libcschem/Makefile.in (revision 359) @@ -4,8 +4,10 @@ include {template/cc.tmpasm} put /local/csch/OBJS [@ + concrete.o compile.o plug_io.o + project.o rtree.o vtcoutline.o vtoid.o Index: trunk/src/libcschem/project.c =================================================================== --- trunk/src/libcschem/project.c (nonexistent) +++ trunk/src/libcschem/project.c (revision 359) @@ -0,0 +1,23 @@ +#include "project.h" + +csch_project_t *csch_project_alloc(void) +{ + csch_project_t *prj; + + prj = calloc(sizeof(csch_project_t), 1); + vtp0_init(&prj->sheets); + vts0_init(&prj->symlibs); + return prj; +} + +void csch_project_free(csch_project_t *prj) +{ + int n; + for(n = 0; n < vtp0_len(&prj->sheets); n++) + csch_sheet_free(prj->sheets.array[n]); + for(n = 0; n < vts0_len(&prj->symlibs); n++) + free(prj->symlibs.array[n]); + vtp0_uninit(&prj->sheets); + vts0_uninit(&prj->symlibs); + free(prj); +} Index: trunk/src/libcschem/project.h =================================================================== --- trunk/src/libcschem/project.h (nonexistent) +++ trunk/src/libcschem/project.h (revision 359) @@ -0,0 +1,16 @@ +#ifndef CSCH_PROJECT_H +#define CSCH_PROJECT_H + +#include +#include +#include + +typedef struct csch_project_s { + vtp0_t sheets; + vts0_t symlibs; +} csch_project_t; + +csch_project_t *csch_project_alloc(void); +void csch_project_free(csch_project_t *); + +#endif