Index: boot/generic/string.c
===================================================================
--- boot/generic/string.c	(revision 9a5b556abb26634c82cbd3954b0fdb4db62b828e)
+++ boot/generic/string.c	(revision 26678e5a1f0f0a6dda91a9e89a03aa3ca86e447c)
@@ -58,4 +58,32 @@
  * Do a char-by-char comparison of two NULL terminated strings.
  * The strings are considered equal iff they consist of the same
+ * characters on the minimum of their lengths.
+ *
+ * @param src First string to compare.
+ * @param dst Second string to compare.
+ *
+ * @return 0 if the strings are equal, -1 if first is smaller, 1 if second smaller.
+ *
+ */
+int strcmp(const char *src, const char *dst)
+{
+	for (; *src && *dst; src++, dst++) {
+		if (*src < *dst)
+			return -1;
+		if (*src > *dst)
+			return 1;
+	}
+	if (*src == *dst)
+		return 0;
+	if (!*src)
+		return -1;
+	return 1;
+}
+
+
+/** Compare two NULL terminated strings
+ *
+ * Do a char-by-char comparison of two NULL terminated strings.
+ * The strings are considered equal iff they consist of the same
  * characters on the minimum of their lengths and specified maximal
  * length.
@@ -72,6 +100,5 @@
 	int i;
 	
-	i = 0;
-	for (;*src && *dst && i < len;src++,dst++,i++) {
+	for (i = 0; *src && *dst && i < len; src++, dst++, i++) {
 		if (*src < *dst)
 			return -1;
Index: boot/generic/string.h
===================================================================
--- boot/generic/string.h	(revision 9a5b556abb26634c82cbd3954b0fdb4db62b828e)
+++ boot/generic/string.h	(revision 26678e5a1f0f0a6dda91a9e89a03aa3ca86e447c)
@@ -39,4 +39,5 @@
 
 extern size_t strlen(const char *str);
+extern int strcmp(const char *src, const char *dst);
 extern int strncmp(const char *src, const char *dst, size_t len);
 extern void strncpy(char *dest, const char *src, size_t len);
