Index: flag_str.c =================================================================== --- flag_str.c (revision 18123) +++ flag_str.c (revision 18124) @@ -550,6 +550,17 @@ return pcb_strflg_common_f2s(flags, object_type, pcb_object_flagbits, PCB_ENTRIES(pcb_object_flagbits), intconn, compat); } +const pcb_flag_bits_t *pcb_strflg_1bit(unsigned long bit, int object_type) +{ + int i, n_flagbits = PCB_ENTRIES(pcb_object_flagbits);; + for (i = 0; i < n_flagbits; i++) { + unsigned long my_obj_typs = pcb_object_flagbits[i].object_types; + if ((my_obj_typs & object_type) && (!pcb_object_flagbits[i].omit_list) && (pcb_object_flagbits[i].mask & bit)) + return &pcb_object_flagbits[i]; + } + return NULL; +} + void pcb_strflg_map(unsigned long fbits, int object_type, void *ctx, void (*cb)(void *ctx, unsigned long flg, const pcb_flag_bits_t *fb)) { int n, i, n_flagbits = PCB_ENTRIES(pcb_object_flagbits);