static int dw_strasciicasecmp(const char *s1, size_t len1, const char *s2, size_t len2) { assert(s1 != 0); assert(s2 != 0); size_t len = DW_MIN(len1, len2); for(size_t i = 0; i < len; ++i) { int c1 = dw_asciitolower(s1[i]); int c2 = dw_asciitolower(s2[i]); if(c1 < c2) return -1; else if(c1 > c2) return 1; } if(len1 < len2) { return -1; } else if(len1 > len2) { return 1; } return 0; }
void DwString::ConvertToLowerCase() { if (mRep->mRefCount > 1) { _copy(); } char* buf = mRep->mBuffer + mStart; for (size_t i=0; i < mLength; ++i) { buf[i] = (char) dw_asciitolower(buf[i]); } }