Index: trunk/src/attrib.c =================================================================== --- trunk/src/attrib.c (revision 5181) +++ trunk/src/attrib.c (revision 5182) @@ -97,3 +97,12 @@ list->List = NULL; list->Max = 0; } + +void pcb_attribute_copy_all(pcb_attribute_list_t *dest, pcb_attribute_list_t *src, int replace) +{ + int i; + + for (i = 0; i < src->Number; i++) + pcb_attribute_put(dest, src->List[i].name, src->List[i].value, replace); +} + Index: trunk/src/attrib.h =================================================================== --- trunk/src/attrib.h (revision 5181) +++ trunk/src/attrib.h (revision 5182) @@ -60,4 +60,7 @@ /* Frees memory used by an attribute list */ void pcb_attribute_free(pcb_attribute_list_t *list); +/* Copy eacg attribute from src to dest */ +void pcb_attribute_copy_all(pcb_attribute_list_t *dest, pcb_attribute_list_t *src, int replace); + #endif