Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 19291) +++ trunk/src/layer.c (revision 19292) @@ -880,9 +880,9 @@ return score; } -pcb_layer_t *pcb_layer_resolve_best(pcb_board_t *pcb, pcb_layergrp_t *grp, pcb_layer_t *src) +pcb_layer_t *pcb_layer_resolve_best(pcb_board_t *pcb, pcb_layergrp_t *grp, pcb_layer_t *src, int *best_score) { - int l, score, best_score = 0; + int l, score; pcb_layer_t *best = NULL; for(l = 0; l < grp->len; l++) { @@ -895,9 +895,9 @@ score += strcmp_score(ly->name, src->name); score += strcmp_score(grp->purpose, src->meta.bound.purpose); - if (score > best_score) { + if (score > *best_score) { best = ly; - best_score = score; + *best_score = score; } } } @@ -909,6 +909,7 @@ { pcb_layergrp_id_t gid; pcb_layergrp_t *grp; + int best_score = 0; assert(src->is_bound); @@ -933,7 +934,7 @@ grp = pcb->LayerGroups.grp+gid; } - return pcb_layer_resolve_best(pcb, grp, src); + return pcb_layer_resolve_best(pcb, grp, src, &best_score); } pcb_layer_t *pcb_layer_new_bound(pcb_data_t *data, pcb_layer_type_t type, const char *name, const char *purpose)