public: simplify ctype.h is* functions wrappers for null-terminated strings, add Q_isalpha

This commit is contained in:
Alibek Omarov 2025-02-05 18:21:18 +03:00
parent 14eb07653c
commit f911210b81

View file

@ -138,24 +138,29 @@ static inline char Q_tolower( const char in )
return out; return out;
} }
static inline qboolean Q_isdigit( const char *str ) static inline qboolean Q_istype( const char *str, int (*istype)( int c ))
{ {
if( likely( str && *str )) if( likely( str && *str ))
{ {
while( isdigit( *str )) str++; while( istype( *str )) str++;
if( !*str ) return true; if( !*str ) return true;
} }
return false; return false;
} }
static inline qboolean Q_isdigit( const char *str )
{
return Q_istype( str, isdigit );
}
static inline qboolean Q_isalpha( const char *str )
{
return Q_istype( str, isalpha );
}
static inline qboolean Q_isspace( const char *str ) static inline qboolean Q_isspace( const char *str )
{ {
if( likely( str && *str )) return Q_istype( str, isspace );
{
while( isspace( *str ) ) str++;
if( !*str ) return true;
}
return false;
} }
static inline int Q_strcmp( const char *s1, const char *s2 ) static inline int Q_strcmp( const char *s1, const char *s2 )