summaryrefslogtreecommitdiff
path: root/src/lib/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/string.c')
-rw-r--r--src/lib/string.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/string.c b/src/lib/string.c
index ecac9d7..24f978c 100644
--- a/src/lib/string.c
+++ b/src/lib/string.c
@@ -130,3 +130,23 @@ char_length(struct string *string, size_t offset)
else
return 4;
}
+
+int
+string_compare(struct string *a, struct string *b)
+{
+ size_t i;
+
+ for(i = 0; (i < a->bytes) && (i < b->bytes); i++){
+ if(a->utf8[i] < b->utf8[i])
+ return -1;
+ else if(a->utf8[i] > b->utf8[i])
+ return 1;
+ }
+
+ if(a->bytes < b->bytes)
+ return -1;
+ else if(a->bytes > b->bytes)
+ return 1;
+ else
+ return 0;
+}