Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 9011) +++ trunk/src/buffer.c (revision 9012) @@ -333,11 +333,7 @@ */ pcb_data_t *pcb_buffer_new(pcb_board_t *pcb) { - pcb_data_t *data; - data = (pcb_data_t *) calloc(1, sizeof(pcb_data_t)); - data->pcb = (pcb_board_t *)pcb; - pcb_data_set_layer_parents(data); - return data; + return pcb_data_new(pcb); } Index: trunk/src/data.c =================================================================== --- trunk/src/data.c (revision 9011) +++ trunk/src/data.c (revision 9012) @@ -342,3 +342,12 @@ for(n = 0; n < PCB_MAX_LAYER; n++) data->Layer[n].parent = data; } + +pcb_data_t *pcb_data_new(pcb_board_t *parent) +{ + pcb_data_t *data; + data = (pcb_data_t *) calloc(1, sizeof(pcb_data_t)); + data->pcb = (pcb_board_t *)parent; + pcb_data_set_layer_parents(data); + return data; +} Index: trunk/src/data.h =================================================================== --- trunk/src/data.h (revision 9011) +++ trunk/src/data.h (revision 9012) @@ -112,6 +112,7 @@ pcb_via_cb_t vcb ); +pcb_data_t *pcb_data_new(pcb_board_t *parent); void pcb_data_free(pcb_data_t *); pcb_bool pcb_data_is_empty(pcb_data_t *);