1.1 --- a/ucx/string.c Wed Aug 14 16:07:49 2013 +0200 1.2 +++ b/ucx/string.c Fri Aug 16 13:40:10 2013 +0200 1.3 @@ -252,3 +252,34 @@ 1.4 1.5 return newstr; 1.6 } 1.7 + 1.8 +int sstrprefix(sstr_t string, sstr_t prefix) { 1.9 + if (string.length == 0) { 1.10 + return prefix.length == 0; 1.11 + } 1.12 + if (prefix.length == 0) { 1.13 + return 1; 1.14 + } 1.15 + 1.16 + if (prefix.length > string.length) { 1.17 + return 0; 1.18 + } else { 1.19 + return memcmp(string.ptr, prefix.ptr, prefix.length) == 0; 1.20 + } 1.21 +} 1.22 + 1.23 +int sstrsuffix(sstr_t string, sstr_t suffix) { 1.24 + if (string.length == 0) { 1.25 + return suffix.length == 0; 1.26 + } 1.27 + if (suffix.length == 0) { 1.28 + return 1; 1.29 + } 1.30 + 1.31 + if (suffix.length > string.length) { 1.32 + return 0; 1.33 + } else { 1.34 + return memcmp(string.ptr+string.length-suffix.length, 1.35 + suffix.ptr, suffix.length) == 0; 1.36 + } 1.37 +}