vendor/parsedate/parsedate.cpp
int strcasecompare(const char *first, const char *second)
{
  while(*first && *second) {
    if(raw_toupper(*first) != raw_toupper(*second))
      /* get out of the loop as soon as they don't match */
      break;
    first++;
    second++;
  }
  /* we do the comparison here (possibly again), just to make sure that if the
     loop above is skipped because one of the strings reached zero, we must not
     return this as a successful match */
  return (raw_toupper(*first) == raw_toupper(*second));
}
/*
 * strcasecompare() is for doing "raw" case insensitive strings. This is
 * meant to be locale independent and only compare strings we know are safe
 * for this.  See
 * https://daniel.haxx.se/blog/2008/10/15/strcasecmp-in-turkish/ for some
 * further explanation to why this function is necessary.
 *
 * The function is capable of comparing a-z case insensitively even for
 * non-ascii.
 *
 * @unittest: 1301
 */
strcasecompare() is for doing "raw" case insensitive strings. This is
meant to be locale independent and only compare strings we know are safe
for this.

The function is capable of comparing a-z case insensitively even for
non-ascii.


strcasecompare () is for doing " raw " case insensitive strings . This is meant to be locale independent and only compare strings we know are safe for this . The function is capable of comparing a - z case insensitively even for non - ascii .
int strcasecompare(const char *first, const char *second)
{
  while(*first && *second) {
    if(raw_toupper(*first) != raw_toupper(*second))
      break;
    first++;
    second++;
  }
  return (raw_toupper(*first) == raw_toupper(*second));
}
int strcasecompare ( const char * first , const char * second ) { while ( * first && * second ) { if ( raw_toupper ( * first ) != raw_toupper ( * second ) ) break ; first ++ ; second ++ ; } return ( raw_toupper ( * first ) == raw_toupper ( * second ) ) ; }
strcasecompare() is for doing "raw" case insensitive strings.
strcasecompare () is for doing " raw " case insensitive strings .
/* get out of the loop as soon as they don't match */ /* we do the comparison here (possibly again), just to make sure that if the
     loop above is skipped because one of the strings reached zero, we must not
     return this as a successful match */