gettimeofday: port recent C++ fix to Emacs
[gnulib.git] / lib / mbspcasecmp.c
index 7cde9b7..225f2e3 100644 (file)
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2008, 2010-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
 
 /* Compare the initial segment of the character string STRING consisting of
    at most mbslen (PREFIX) characters with the character string PREFIX,
-   ignoring case, returning less than, equal to or greater than zero if this
-   initial segment is lexicographically less than, equal to or greater than
-   PREFIX.
-   Note: This function may, in multibyte locales, return 0 if STRING is of
-   smaller length than PREFIX!  */
+   ignoring case.  If the two match, return a pointer to the first byte
+   after this prefix in STRING.  Otherwise, return NULL.
+   Note: This function may, in multibyte locales, return non-NULL if STRING
+   is of smaller length than PREFIX!  */
 char *
 mbspcasecmp (const char *string, const char *prefix)
 {
@@ -54,21 +53,21 @@ mbspcasecmp (const char *string, const char *prefix)
       mbui_init (iter2, prefix);
 
       while (mbui_avail (iter1) && mbui_avail (iter2))
-       {
-         int cmp = mb_casecmp (mbui_cur (iter1), mbui_cur (iter2));
+        {
+          int cmp = mb_casecmp (mbui_cur (iter1), mbui_cur (iter2));
 
-         if (cmp != 0)
-           return NULL;
+          if (cmp != 0)
+            return NULL;
 
-         mbui_advance (iter1);
-         mbui_advance (iter2);
-       }
+          mbui_advance (iter1);
+          mbui_advance (iter2);
+        }
       if (!mbui_avail (iter2))
-       /* PREFIX equals STRING or is terminated before STRING.  */
-       return (char *) mbui_cur_ptr (iter1);
+        /* PREFIX equals STRING or is terminated before STRING.  */
+        return (char *) mbui_cur_ptr (iter1);
       else
-       /* STRING terminated before PREFIX.  */
-       return NULL;
+        /* STRING terminated before PREFIX.  */
+        return NULL;
     }
   else
     {
@@ -77,19 +76,19 @@ mbspcasecmp (const char *string, const char *prefix)
       unsigned char c1, c2;
 
       for (; ; p1++, p2++)
-       {
-         c1 = TOLOWER (*p1);
-         c2 = TOLOWER (*p2);
+        {
+          c1 = TOLOWER (*p1);
+          c2 = TOLOWER (*p2);
 
-         if (c2 == '\0' || c1 != c2)
-           break;
-       }
+          if (c2 == '\0' || c1 != c2)
+            break;
+        }
 
       if (c2 == '\0')
-       /* PREFIX equals STRING or is terminated before STRING.  */
-       return (char *) p1;
+        /* PREFIX equals STRING or is terminated before STRING.  */
+        return (char *) p1;
       else
-       /* STRING terminated before PREFIX.  */
-       return NULL;
+        /* STRING terminated before PREFIX.  */
+        return NULL;
     }
 }