Index: trunk/src/layer_grp.c =================================================================== --- trunk/src/layer_grp.c (revision 8285) +++ trunk/src/layer_grp.c (revision 8286) @@ -59,6 +59,14 @@ return Layer->grp; } +pcb_layer_group_t *pcb_get_layergrp(pcb_board_t *pcb, pcb_layergrp_id_t gid) +{ + if ((gid < 0) || (gid >= pcb->LayerGroups.len)) + return NULL; + return pcb->LayerGroups.grp + gid; +} + + pcb_layergrp_id_t pcb_layer_get_group(pcb_board_t *pcb, pcb_layer_id_t lid) { if ((lid < 0) || (lid >= pcb->Data->LayerN)) Index: trunk/src/layer_grp.h =================================================================== --- trunk/src/layer_grp.h (revision 8285) +++ trunk/src/layer_grp.h (revision 8286) @@ -57,6 +57,9 @@ pcb_layer_group_t grp[PCB_MAX_LAYERGRP]; }; +/* Return the layer group for an id, or NULL on error (range check) */ +pcb_layer_group_t *pcb_get_layergrp(pcb_board_t *pcb, pcb_layergrp_id_t gid); + /* lookup the group to which a layer belongs to returns -1 if no group is found */ pcb_layergrp_id_t pcb_layer_get_group(pcb_board_t *pcb, pcb_layer_id_t Layer); pcb_layergrp_id_t pcb_layer_get_group_(pcb_layer_t *Layer);