55#include <string.h>
66#include <ctype.h>
77
8+ #include "common/attributes.h"
89#include "common/wcwidth.h"
910
1011#ifdef _WIN32
@@ -25,14 +26,17 @@ static inline bool ffStrSet(const char* str) {
2526 return * str != '\0' ;
2627}
2728
29+ FF_A_ALWAYS_INLINE
2830static inline bool ffStrStartsWithIgnCase (const char * str , const char * compareTo ) {
2931 return strncasecmp (str , compareTo , strlen (compareTo )) == 0 ;
3032}
3133
34+ FF_A_ALWAYS_INLINE
3235static inline bool ffStrEqualsIgnCase (const char * str , const char * compareTo ) {
3336 return strcasecmp (str , compareTo ) == 0 ;
3437}
3538
39+ FF_A_ALWAYS_INLINE
3640static inline bool ffStrStartsWith (const char * str , const char * compareTo ) {
3741 return strncmp (str , compareTo , strlen (compareTo )) == 0 ;
3842}
@@ -55,26 +59,32 @@ static inline bool ffStrEndsWithIgnCase(const char* str, const char* compareTo)
5559 return strncasecmp (str + strLength - compareToLength , compareTo , compareToLength ) == 0 ;
5660}
5761
62+ FF_A_ALWAYS_INLINE
5863static inline bool ffStrEquals (const char * str , const char * compareTo ) {
5964 return strcmp (str , compareTo ) == 0 ;
6065}
6166
67+ FF_A_ALWAYS_INLINE
6268static inline bool ffStrContains (const char * str , const char * compareTo ) {
6369 return strstr (str , compareTo ) != NULL ;
6470}
6571
72+ FF_A_ALWAYS_INLINE
6673static inline bool ffStrContainsIgnCase (const char * str , const char * compareTo ) {
6774 return strcasestr (str , compareTo ) != NULL ;
6875}
6976
77+ FF_A_ALWAYS_INLINE
7078static inline bool ffStrContainsC (const char * str , char compareTo ) {
7179 return strchr (str , compareTo ) != NULL ;
7280}
7381
82+ FF_A_ALWAYS_INLINE
7483static inline bool ffCharIsEnglishAlphabet (char c ) {
7584 return ('a' <= c && c <= 'z' ) || ('A' <= c && c <= 'Z' );
7685}
7786
87+ FF_A_ALWAYS_INLINE
7888static inline bool ffCharIsDigit (char c ) {
7989 return '0' <= c && c <= '9' ;
8090}
@@ -86,6 +96,7 @@ uint8_t ffUtf8CharLenWidth(const char* str, uint32_t length, uint8_t* width);
8696
8797uint32_t ffUtf8StrWidth (const char * str , uint32_t length );
8898
99+ FF_A_ALWAYS_INLINE
89100static inline bool ffCharIsHexDigit (char c ) {
90101 return ffCharIsDigit (c ) || ('a' <= c && c <= 'f' ) || ('A' <= c && c <= 'F' );
91102}
0 commit comments