Index: generic/src/lib/func.c
===================================================================
--- generic/src/lib/func.c	(revision 2312685c8c0b117c244791a714bdb5c3357aae2b)
+++ generic/src/lib/func.c	(revision 0c8e69204d1c8675761780e4b928c137593c09fc)
@@ -80,5 +80,5 @@
  * @param len Maximal length for comparison.
  *
- * @return 0 if the strings are equal, 1 otherwise.
+ * @return 0 if the strings are equal, -1 if first is smaller, 1 if second smaller.
  *
  */
@@ -88,9 +88,14 @@
 	
 	i = 0;
-	while ((i < len) && (src[i] == dst[i])) {
-		if ((i == len - 1) || (src[i] == '\0'))
-			return 0;
-		i++;
+	for (;*src && *dst && i < len;src++,dst++,i++) {
+		if (*src < *dst)
+			return -1;
+		if (*src > *dst)
+			return 1;
 	}
+	if (i == len || *src == *dst)
+		return 0;
+	if (*src < *dst)
+		return -1;
 	return 1;
 }
