aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--l4str.c16
-rw-r--r--l4str.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/l4str.c b/l4str.c
index 83cecae..4324056 100644
--- a/l4str.c
+++ b/l4str.c
@@ -7,6 +7,22 @@
#include <stdlib.h>
#include <string.h>
+bool lbs_str_has_prefix (const char* str, const char* prefix) {
+ int i;
+ for (i = 0; str[i] != '\0' && prefix[i] != '\0'; i++) {
+ if (str[i] != prefix[i]) {
+ return false;
+ }
+ }
+ if (str[i] == '\0' && prefix[i] == '\0') {
+ return true;
+ }
+ if (str[i] == '\0') {
+ return false;
+ }
+ return true;
+}
+
bool lbs_str_has_suffix (const char* str, const char* suffix) {
size_t len = strlen (str);
size_t suflen = strlen (suffix);
diff --git a/l4str.h b/l4str.h
index b041e22..a926798 100644
--- a/l4str.h
+++ b/l4str.h
@@ -8,6 +8,7 @@
#define LBS_STR_STATIC_STRLEN(x) (sizeof(x)/sizeof(char) - 1)
#define LBS_STR_ARRAY_LEN(x,t) (sizeof(x)/sizeof(t))
+bool lbs_str_has_prefix (const char* str, const char* prefix);
bool lbs_str_has_suffix (const char* str, const char* suffix);
char* lbs_str_printf (const char* format, ...);
char* lbs_str_vprintf (const char* format, va_list ap);