Use fast tolower/toupper defines instead

This commit is contained in:
Kawe Mazidjatari 2023-07-22 14:40:47 +02:00
parent cb7d1b3709
commit 15c293126e

View File

@ -1,12 +1,5 @@
#include "tier1/strtools.h"
FORCEINLINE unsigned char tolower_fast(unsigned char c)
{
if ((c >= 'A') && (c <= 'Z'))
return c + ('a' - 'A');
return c;
}
//-----------------------------------------------------------------------------
// Finds a string in another string with a case insensitive test
//-----------------------------------------------------------------------------
@ -24,7 +17,7 @@ char const* V_stristr(char const* pStr, char const* pSearch)
while (*pLetter != 0)
{
// Skip over non-matches
if (tolower_fast((unsigned char)*pLetter) == tolower_fast((unsigned char)*pSearch))
if (FastASCIIToLower((unsigned char)*pLetter) == FastASCIIToLower((unsigned char)*pSearch))
{
// Check for match
char const* pMatch = pLetter + 1;
@ -35,7 +28,7 @@ char const* V_stristr(char const* pStr, char const* pSearch)
if (*pMatch == 0)
return 0;
if (tolower_fast((unsigned char)*pMatch) != tolower_fast((unsigned char)*pTest))
if (FastASCIIToLower((unsigned char)*pMatch) != FastASCIIToLower((unsigned char)*pTest))
break;
++pMatch;
@ -415,7 +408,7 @@ bool V_ComparePath(const char* a, const char* b)
{
continue;
}
if (tolower_fast(*a) == tolower_fast(*b))
if (FastASCIIToLower(*a) == FastASCIIToLower(*b))
{
continue;
}