mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
51 lines
1.9 KiB
C
51 lines
1.9 KiB
C
#pragma once
|
|
|
|
#ifdef _WIN32
|
|
#define CORRECT_PATH_SEPARATOR '\\'
|
|
#define INCORRECT_PATH_SEPARATOR '/'
|
|
#elif POSIX
|
|
#define CORRECT_PATH_SEPARATOR '/'
|
|
#define INCORRECT_PATH_SEPARATOR '\\'
|
|
#endif
|
|
|
|
/// Faster conversion of an ascii char to upper case. This function does not obey locale or any language
|
|
/// setting. It should not be used to convert characters for printing, but it is a better choice
|
|
/// for internal strings such as used for hash table keys, etc. It's meant to be inlined and used
|
|
/// in places like the various dictionary classes. Not obeying locale also protects you from things
|
|
/// like your hash values being different depending on the locale setting.
|
|
#define FastASCIIToUpper( c ) ( ( ( (c) >= 'a' ) && ( (c) <= 'z' ) ) ? ( (c) - 32 ) : (c) )
|
|
/// similar to FastASCIIToLower
|
|
#define FastASCIIToLower( c ) ( ( ( (c) >= 'A' ) && ( (c) <= 'Z' ) ) ? ( (c) + 32 ) : (c) )
|
|
|
|
#define V_vsnprintf vsnprintf
|
|
#define V_snprintf snprintf
|
|
#define V_strlower _strlwr
|
|
#define V_strlen strlen
|
|
#define V_strncat strncat
|
|
#define V_stricmp _stricmp
|
|
#define V_strnicmp _strnicmp
|
|
#define V_strcmp strcmp
|
|
#define V_strncmp strncmp
|
|
|
|
#define Q_vsnprintf V_vsnprintf
|
|
#define Q_snprintf V_snprintf
|
|
#define Q_strlower V_strlower
|
|
#define Q_strlen V_strlen
|
|
#define Q_strncat V_strncat
|
|
#define Q_strnistr V_strnistr
|
|
#define Q_stricmp V_stricmp
|
|
#define Q_strnicmp V_strnicmp
|
|
#define Q_strncasecmp V_strnicmp
|
|
#define Q_strcasecmp V_stricmp
|
|
#define Q_strcmp V_strcmp
|
|
#define Q_strncmp V_strncmp
|
|
|
|
|
|
char const* V_stristr(char const* pStr, char const* pSearch);
|
|
const char* V_strnistr(const char* pStr, const char* pSearch, int n);
|
|
const char* V_strnchr(const char* pStr, char c, int n);
|
|
bool V_isspace(int c);
|
|
|
|
int V_UTF8ToUnicode(const char* pUTF8, wchar_t* pwchDest, int cubDestSizeInBytes);
|
|
int V_UnicodeToUTF8(const wchar_t* pUnicode, char* pUTF8, int cubDestSizeInBytes);
|
|
void V_FixSlashes(char* pname, char separator = CORRECT_PATH_SEPARATOR); |