ucx/string.c

changeset 17
11dffb40cd91
parent 5
88625853ae74
child 39
3e55bed345f9
--- 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;
+    }
+}

mercurial