<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Sep 23, 2014 at 9:45 AM, George Joseph <span dir="ltr"><<a href="mailto:george.joseph@fairview5.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=george.joseph@fairview5.com&cc=&bcc=&su=&body=','_blank','location=yes,menubar=yes,resizable=yes,width=800,height=600');return false;">george.joseph@fairview5.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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:<div><br></div><div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap"> </span>/* try exact match first, then case-insensitive match */</font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">     </span>for (cat = config->root; cat; cat = cat->next) {</font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">               </span>if (cat->name == category_name && (ignored || !cat->ignored))</font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">                  </span>return cat;</font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">  </span>}</font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">       </span>for (cat = config->root; cat; cat = cat->next) {</font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">               </span>if (!strcasecmp(cat->name, category_name) && (ignored || !cat->ignored))</font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">                       </span>return cat;</font></div><div><font size="1" face="courier new, monospace"><span style="white-space:pre-wrap">  </span>}</font></div></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">The result is that the case sensitive match never succeeds and it's always the case insensitive match that's run.</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">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.</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Thoughts?</font></div><div><br></div></div></blockquote><div>Forgot to mention...There are other places in the code where the comparison is always case-insensitive.</div><div><br></div><div> </div></div></div></div>