summaryrefslogtreecommitdiffstats
path: root/util/string/ascii.cpp
blob: c18997b4a2c85af427ea8582c6d4cb8d9ddf2a4a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "ascii.h"

#include <util/system/yassert.h>
#include <util/system/compat.h>

int AsciiCompareIgnoreCase(const TStringBuf s1, const TStringBuf s2) noexcept {
    if (s1.size() <= s2.size()) {
        if (int cmp = ::strnicmp(s1.data(), s2.data(), s1.size())) {
            return cmp;
        }
        return (s1.size() < s2.size()) ? -1 : 0;
    }

    Y_ASSERT(s1.size() > s2.size());
    if (int cmp = ::strnicmp(s1.data(), s2.data(), s2.size())) {
        return cmp;
    }
    return 1;
}