diff options
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/system.c | 26 | ||||
| -rw-r--r-- | src/base/system.h | 35 |
2 files changed, 61 insertions, 0 deletions
diff --git a/src/base/system.c b/src/base/system.c index c94e4cf9..067c870f 100644 --- a/src/base/system.c +++ b/src/base/system.c @@ -1097,6 +1097,12 @@ int str_comp_nocase(const char *a, const char *b) #endif } +int str_comp(const char *a, const char *b) +{ + return strcmp(a, b); +} + + const char *str_find_nocase(const char *haystack, const char *needle) { while(*haystack) /* native implementation */ @@ -1116,6 +1122,26 @@ const char *str_find_nocase(const char *haystack, const char *needle) return 0; } + +const char *str_find(const char *haystack, const char *needle) +{ + while(*haystack) /* native implementation */ + { + const char *a = haystack; + const char *b = needle; + while(*a && *b && *a == *b) + { + a++; + b++; + } + if(!(*b)) + return haystack; + haystack++; + } + + return 0; +} + void str_hex(char *dst, int dst_size, const void *data, int data_size) { static const char hex[] = "0123456789ABCDEF"; diff --git a/src/base/system.h b/src/base/system.h index 87cae4a0..6ead7239 100644 --- a/src/base/system.h +++ b/src/base/system.h @@ -763,6 +763,25 @@ void str_sanitize(char *str); */ int str_comp_nocase(const char *a, const char *b); + +/* + Function: str_comp_nocase + Compares to strings case sensitive. + + Parameters: + a - String to compare. + b - String to compare. + + Returns: + <0 - String a is lesser then string b + 0 - String a is equal to string b + >0 - String a is greater then string b + + Remarks: + - The strings are treated as zero-termineted strings. +*/ +int str_comp(const char *a, const char *b); + /* Function: str_find_nocase Finds a string inside another string case insensitive. @@ -781,6 +800,22 @@ int str_comp_nocase(const char *a, const char *b); */ const char *str_find_nocase(const char *haystack, const char *needle); +/* + Function: str_find + Finds a string inside another string case sensitive. + + Parameters: + haystack - String to search in + needle - String to search for + + Returns: + A pointer into haystack where the needle was found. + Returns NULL of needle could not be found. + + Remarks: + - The strings are treated as zero-termineted strings. +*/ +const char *str_find(const char *haystack, const char *needle); /* Function: str_hex |