From f911210b81f1a92205a9dd13ebcb4912d1ec96a9 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Wed, 5 Feb 2025 18:21:18 +0300 Subject: [PATCH] public: simplify ctype.h is* functions wrappers for null-terminated strings, add Q_isalpha --- public/crtlib.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/public/crtlib.h b/public/crtlib.h index 19f84bbf..3216d97e 100644 --- a/public/crtlib.h +++ b/public/crtlib.h @@ -138,24 +138,29 @@ static inline char Q_tolower( const char in ) 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 )) { - while( isdigit( *str )) str++; + while( istype( *str )) str++; if( !*str ) return true; } 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 ) { - if( likely( str && *str )) - { - while( isspace( *str ) ) str++; - if( !*str ) return true; - } - return false; + return Q_istype( str, isspace ); } static inline int Q_strcmp( const char *s1, const char *s2 )