Index: attrib.h =================================================================== --- attrib.h (revision 32688) +++ attrib.h (revision 32689) @@ -31,6 +31,8 @@ #ifndef PCB_ATTRIB_H #define PCB_ATTRIB_H +#include "global_typedefs.h" + typedef struct pcb_attribute_list_s pcb_attribute_list_t; typedef struct pcb_attribute_s { @@ -68,6 +70,10 @@ /* Simplistic version of Remove. */ #define pcb_attrib_remove(OBJ, name) pcb_attribute_remove(&(OBJ->Attributes), name) +/* Universal, optionally undoable set/del: value==NULL means remove */ +void pcb_attribute_set(pcb_board_t *pcb, pcb_attribute_list_t *list, const char *name, const char *value, rnd_bool undoable); + + /* remove item by index - WARNING: no checks are made, idx has to be valid! */ int pcb_attribute_remove_idx(pcb_attribute_list_t * list, int idx);