diff -r 5dbef9e07376 -r 11dffb40cd91 ucx/string.c --- a/ucx/string.c Fri Aug 16 12:41:30 2013 +0200 +++ b/ucx/string.c Sat Aug 17 12:04:04 2013 +0200 @@ -252,3 +252,34 @@ return newstr; } + +int sstrprefix(sstr_t string, sstr_t prefix) { + if (string.length == 0) { + return prefix.length == 0; + } + if (prefix.length == 0) { + return 1; + } + + if (prefix.length > string.length) { + return 0; + } else { + return memcmp(string.ptr, prefix.ptr, prefix.length) == 0; + } +} + +int sstrsuffix(sstr_t string, sstr_t suffix) { + if (string.length == 0) { + return suffix.length == 0; + } + if (suffix.length == 0) { + return 1; + } + + if (suffix.length > string.length) { + return 0; + } else { + return memcmp(string.ptr+string.length-suffix.length, + suffix.ptr, suffix.length) == 0; + } +}