Index: trunk/src/libcschem/Makefile.in =================================================================== --- trunk/src/libcschem/Makefile.in (revision 669) +++ trunk/src/libcschem/Makefile.in (revision 670) @@ -27,6 +27,7 @@ rtree.o vtcoutline.o vtoid.o + vtoidpath.o @] #temporary hack until pup is set up append /local/csch/OBJS [@ Index: trunk/src/libcschem/cnc_conn.h =================================================================== --- trunk/src/libcschem/cnc_conn.h (revision 669) +++ trunk/src/libcschem/cnc_conn.h (revision 670) @@ -28,14 +28,17 @@ #ifndef CSCH_CONCRETE_CONN_H #define CSCH_CONCRETE_CONN_H #include "libcschem/concrete.h" -#include "libcschem/vtoid.h" +#include "libcschem/vtoidpath.h" /* type=CSCH_CTYPE_CONN */ typedef struct csch_conn_s { csch_chdr_t hdr; - csch_vtoid_t conn; + vtp0_t conn; /* if not empty, ->conn_path is empty */ csch_oid_t gfx; + + /* cache: file I/O version */ + csch_vtoidpath_t conn_path; /* if not empty, ->conn is empty */ } csch_conn_t; csch_conn_t *csch_conn_alloc(csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid); Index: trunk/src/libcschem/vtoid.h =================================================================== --- trunk/src/libcschem/vtoid.h (revision 669) +++ trunk/src/libcschem/vtoid.h (revision 670) @@ -1,5 +1,5 @@ -#ifndef VTCSCH_OID_H -#define VTCSCH_OID_H +#ifndef CSCH_VTOID_H +#define CSCH_VTOID_H #include #include Index: trunk/src/libcschem/vtoidpath.c =================================================================== --- trunk/src/libcschem/vtoidpath.c (nonexistent) +++ trunk/src/libcschem/vtoidpath.c (revision 670) @@ -0,0 +1,5 @@ +#include +#include "vtoid.h" +#define GVT_DONT_UNDEF +#include "vtoidpath.h" +#include Index: trunk/src/libcschem/vtoidpath.h =================================================================== --- trunk/src/libcschem/vtoidpath.h (nonexistent) +++ trunk/src/libcschem/vtoidpath.h (revision 670) @@ -0,0 +1,21 @@ +#ifndef CSCH_VTOIDPATH_H +#define CSCH_VTOIDPATH_H + +#include +#include +#include "libcschem/common_types.h" +#include "libcschem/oidpath.h" + +#define GVT(x) csch_vtoidpath_ ## x + +#define GVT_ELEM_TYPE csch_oidpath_t +#define GVT_SIZE_TYPE long +#define GVT_DOUBLING_THRS 1024 +#define GVT_START_SIZE 4 +#define GVT_FUNC +#define GVT_SET_NEW_BYTES_TO 0 +#include +#define GVT_REALLOC(vect, ptr, size) realloc(ptr, size) +#define GVT_FREE(vect, ptr) free(ptr) +#include +#endif