|
|
|
@ -10,15 +10,6 @@ int starts_with(const char *str, const char *prefix)
@@ -10,15 +10,6 @@ int starts_with(const char *str, const char *prefix)
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int prefixcmp(const char *str, const char *prefix) |
|
|
|
|
{ |
|
|
|
|
for (; ; str++, prefix++) |
|
|
|
|
if (!*prefix) |
|
|
|
|
return 0; |
|
|
|
|
else if (*str != *prefix) |
|
|
|
|
return (unsigned char)*prefix - (unsigned char)*str; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int ends_with(const char *str, const char *suffix) |
|
|
|
|
{ |
|
|
|
|
int len = strlen(str), suflen = strlen(suffix); |
|
|
|
@ -28,15 +19,6 @@ int ends_with(const char *str, const char *suffix)
@@ -28,15 +19,6 @@ int ends_with(const char *str, const char *suffix)
|
|
|
|
|
return !strcmp(str + len - suflen, suffix); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int suffixcmp(const char *str, const char *suffix) |
|
|
|
|
{ |
|
|
|
|
int len = strlen(str), suflen = strlen(suffix); |
|
|
|
|
if (len < suflen) |
|
|
|
|
return -1; |
|
|
|
|
else |
|
|
|
|
return strcmp(str + len - suflen, suffix); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
* Used as the default ->buf value, so that people can always assume |
|
|
|
|
* buf is non NULL and ->buf is NUL terminated even for a freshly |
|
|
|
|