Change match_criterion so that substring (~) match uses strstr
always. The equal/string (=) uses match_zurl magic and strcmp as
before. This also ensure that v ptr is always set at end of routine
to prevent undefined behavior.
}
if (!settings[offset])
return 0;
}
if (!settings[offset])
return 0;
- if (c->type == PAZPAR2_STRING_MATCH)
- for (v = c->values; v; v = v->next)
+ for (v = c->values; v; v = v->next)
+ {
+ if (c->type == PAZPAR2_STRING_MATCH)
if (!strcmp(settings[offset]->value, v->value))
break;
}
if (!strcmp(settings[offset]->value, v->value))
break;
}
- }
- else if (c->type == PAZPAR2_SUBSTRING_MATCH)
- for (v = c->values; v; v = v->next)
+ }
+ else if (c->type == PAZPAR2_SUBSTRING_MATCH)
- if (offset == PZ_ID)
- {
- if (match_zurl(settings[offset]->value, v->value))
- break;
- }
- else
- {
- if (strstr(settings[offset]->value, v->value))
- break;
- }
+ if (strstr(settings[offset]->value, v->value))
+ break;