I've been working on some changes for config.c and in the process I've
found 5 instances of someone attempting to do "cat->name == category_name"
instead of "strcmp(cat->name, category_name)".    Example:

/* try exact match first, then case-insensitive match */
for (cat = config->root; cat; cat = cat->next) {
if (cat->name == category_name && (ignored || !cat->ignored))
return cat;
}

for (cat = config->root; cat; cat = cat->next) {
if (!strcasecmp(cat->name, category_name) && (ignored || !cat->ignored))
return cat;
}

The result is that the case sensitive match never succeeds and it's always
the case insensitive match that's run.

My question is...  Should I fix these so the case sensitive match works and
runs first or just remove the first loop so the match is always
case-insensitive?   I'm hoping the latter not only because it makes the
code simpler but because that's how it's worked for years and suddenly
making the match case sensitive might cause unexpected problems.

Thoughts?
-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to