Index: uspace/lib/libc/generic/string.c
===================================================================
--- uspace/lib/libc/generic/string.c	(revision 574937270c8733320f1cb7cae1aa97c6c19ec421)
+++ uspace/lib/libc/generic/string.c	(revision 2dd72887d1808fb6eabaed760c24af5fafcd98c6)
@@ -147,5 +147,4 @@
 	
 	return (a[c] - b[c]);
-	
 }
 
@@ -159,4 +158,14 @@
 	return ( c < n ? a[c] - b[c] : 0);
 	
+}
+
+int stricmp(const char *a, const char *b)
+{
+	int c = 0;
+	
+	while (a[c] && b[c] && (!(tolower(a[c]) - tolower(b[c]))))
+		c++;
+	
+	return (tolower(a[c]) - tolower(b[c]));
 }
 
Index: uspace/lib/libc/include/ctype.h
===================================================================
--- uspace/lib/libc/include/ctype.h	(revision 574937270c8733320f1cb7cae1aa97c6c19ec421)
+++ uspace/lib/libc/include/ctype.h	(revision 2dd72887d1808fb6eabaed760c24af5fafcd98c6)
@@ -77,4 +77,12 @@
 }
 
+static inline int tolower(int c)
+{
+	if (isupper(c))
+		return (c + ('a' - 'A' > 0 ? 'a' - 'A' : 'A' - 'a'));
+	else
+		return c;
+}
+
 #endif
 
Index: uspace/lib/libc/include/string.h
===================================================================
--- uspace/lib/libc/include/string.h	(revision 574937270c8733320f1cb7cae1aa97c6c19ec421)
+++ uspace/lib/libc/include/string.h	(revision 2dd72887d1808fb6eabaed760c24af5fafcd98c6)
@@ -48,4 +48,5 @@
 extern int strcmp(const char *, const char *);
 extern int strncmp(const char *, const char *, size_t);
+extern int stricmp(const char *, const char *);
 
 extern char *strcpy(char *, const char *);
