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

Paul Belanger paul.belanger at polybeacon.com
Tue Sep 23 11:29:01 CDT 2014


On Tue, Sep 23, 2014 at 11: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?
>
For me, case sensitive.  Because I config files that do have:

[Foo]

[foo]

[fOO]

don't ask, long story.

-- 
Paul Belanger | PolyBeacon, Inc.
Jabber: paul.belanger at polybeacon.com | IRC: pabelanger (Freenode)
Github: https://github.com/pabelanger | Twitter: https://twitter.com/pabelanger



More information about the asterisk-dev mailing list