[asterisk-dev] Opinions Needed: Case sensitivity in config file section names

George Joseph george.joseph at fairview5.com
Tue Sep 23 10:51:00 CDT 2014


On Tue, Sep 23, 2014 at 9:45 AM, George Joseph <george.joseph at fairview5.com>
wrote:

> 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?
>
> Forgot to mention...There are other places in the code where the
comparison is always case-insensitive.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140923/dc810810/attachment.html>


More information about the asterisk-dev mailing list