windows-nt/Source/XPSP1/NT/ds/security/cryptoapi/common/pkiutil/pkistr.cpp

95 lines
2.3 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+-------------------------------------------------------------------------
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1995 - 1999
//
// File: pkistr.cpp
//
// Contents: PKI String Functions
//
// Functions: Pki_wcsicmp
// Pki_wcsnicmp
// Pki_stricmp
// Pki_strnicmp
//
// History: 21-May-99 philh created
//--------------------------------------------------------------------------
#include "global.hxx"
#include <dbgdef.h>
#define NO_LOCALE MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT)
//+-------------------------------------------------------------------------
// CompareString is called with the following locale:
// MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT)
//--------------------------------------------------------------------------
int __cdecl Pki_wcsicmp(const wchar_t *pwsz1, const wchar_t *pwsz2)
{
return CompareStringU(
NO_LOCALE,
NORM_IGNORECASE,
pwsz1,
-1,
pwsz2,
-1) - CSTR_EQUAL;
}
int __cdecl Pki_wcsnicmp(const wchar_t *pwsz1, const wchar_t *pwsz2,
size_t cch)
{
const wchar_t *pwsz;
size_t cch1;
size_t cch2;
for (cch1 = 0, pwsz = pwsz1; cch1 < cch && L'\0' != *pwsz; cch1++, pwsz++)
;
for (cch2 = 0, pwsz = pwsz2; cch2 < cch && L'\0' != *pwsz; cch2++, pwsz++)
;
return CompareStringU(
NO_LOCALE,
NORM_IGNORECASE,
pwsz1,
(int) cch1,
pwsz2,
(int) cch2) - CSTR_EQUAL;
}
int __cdecl Pki_stricmp(const char *psz1, const char *psz2)
{
return CompareStringA(
NO_LOCALE,
NORM_IGNORECASE,
psz1,
-1,
psz2,
-1) - CSTR_EQUAL;
}
int __cdecl Pki_strnicmp(const char *psz1, const char *psz2,
size_t cch)
{
const char *psz;
size_t cch1;
size_t cch2;
for (cch1 = 0, psz = psz1; cch1 < cch && '\0' != *psz; cch1++, psz++)
;
for (cch2 = 0, psz = psz2; cch2 < cch && '\0' != *psz; cch2++, psz++)
;
return CompareStringA(
NO_LOCALE,
NORM_IGNORECASE,
psz1,
(int) cch1,
psz2,
(int) cch2) - CSTR_EQUAL;
}