Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 28632) +++ trunk/src/layer.c (revision 28633) @@ -1023,6 +1023,15 @@ return 0; } +pcb_layer_type_t pcb_layer_type_strn2bit(const char *name, size_t len) +{ + const pcb_layer_type_name_t *n; + for(n = pcb_layer_type_names; n->name != NULL; n++) + if ((strncmp(n->name, name, len) == 0) && (n->name[len] == '\0')) + return n->type; + return 0; +} + const char *pcb_layer_type_bit2str(pcb_layer_type_t type) { const pcb_layer_type_name_t *n; Index: trunk/src/layer.h =================================================================== --- trunk/src/layer.h (revision 28632) +++ trunk/src/layer.h (revision 28633) @@ -239,6 +239,7 @@ /* return 0 or the flag value correspoding to name (linear search) */ pcb_layer_type_t pcb_layer_type_str2bit(const char *name); +pcb_layer_type_t pcb_layer_type_strn2bit(const char *name, size_t len); pcb_layer_combining_t pcb_layer_comb_str2bit(const char *name); /* Convert a list of types/combs from string to bits. Returns 0 on success.