mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
scripted commit:
find . -not -path '*/.*' -and -not -path '*/ext*' -type d -exec coan source -R -E {} ';'
https://coan2.sourceforge.net/coan_man_1.html
27 lines
517 B
C++
27 lines
517 B
C++
//
|
|
// Snap: Implementation of case-insensitive string comparison classes
|
|
//
|
|
#include "stringicmp.h"
|
|
#include <ctype.h>
|
|
|
|
|
|
|
|
bool TStringiLess::operator() (std::string const& s1, std::string const& s2) const
|
|
{
|
|
// An MSVC compliance issue...
|
|
//using std::toupper;
|
|
|
|
const char *p1 = s1.c_str();
|
|
const char *p2 = s2.c_str();
|
|
|
|
while (*p1 && *p2 && toupper(*p1) == toupper(*p2)) {
|
|
++p1;
|
|
++p2;
|
|
}
|
|
|
|
if (!*p1) return *p2 != 0;
|
|
if (!*p2) return false;
|
|
|
|
return toupper(*p1) < toupper(*p2);
|
|
}
|