[misc] Add vsc_strcmp() that accepts NULL pointers.
authorMatthias Bolte <matthias.bolte@googlemail.com>
Sat, 20 Jun 2009 17:44:15 +0000 (19:44 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Sat, 20 Jun 2009 17:44:15 +0000 (19:44 +0200)
Signed-off-by: Matthias Bolte <matthias.bolte@googlemail.com>

include/libvscmisc/string.h
misc/string.c

index 5993977..ccc7992 100644 (file)
@@ -44,6 +44,9 @@ vsc_strerror (int errnum);
 int
 vsc_strtoi (struct VscError *error, const char *string, char **tail, int base);
 
+int
+vsc_strcmp (const char *string1, const char *string2);
+
 #ifdef __cplusplus
 }
 #endif
index 5cf24b5..e13c99f 100644 (file)
@@ -199,3 +199,22 @@ vsc_strtoi (struct VscError *error, const char *string, char **tail, int base)
 
        return value;
 }
+
+/*!
+ * @brief A version of strcmp that accepts NULL as parameter.
+ *
+ * @note NULL pointers compare equal.
+ */
+int
+vsc_strcmp (const char *string1, const char *string2)
+{
+       if (string1 == string2) {
+               return 0;
+       } else if (string1 == NULL) {
+               return -1;
+       } else if (string2 == NULL) {
+               return 1;
+       } else {
+               return strcmp (string1, string2);
+       }
+}