(__strtol): Remove decl; it doesn't work if __strtol
[gnulib.git] / lib / strverscmp.c
index f8f5193..1e87461 100644 (file)
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <string.h>
 #include <ctype.h>
 
@@ -39,9 +43,7 @@
 */
 
 int
-strverscmp (s1, s2)
-     const char *s1;
-     const char *s2;
+strverscmp (const char *s1, const char *s2)
 {
   const unsigned char *p1 = (const unsigned char *) s1;
   const unsigned char *p2 = (const unsigned char *) s2;
@@ -67,11 +69,11 @@ strverscmp (s1, s2)
 
       /* S_N */  CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
                  CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
-      /* S_I */  CMP, -1,  -1,  CMP, +1,  LEN, LEN, CMP,
-                 +1,  LEN, LEN, CMP, CMP, CMP, CMP, CMP,
+      /* S_I */  CMP, -1,  -1,  CMP,  1,  LEN, LEN, CMP,
+                  1,  LEN, LEN, CMP, CMP, CMP, CMP, CMP,
       /* S_F */  CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
                  CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
-      /* S_Z */  CMP, +1,  +1,  CMP, -1,  CMP, CMP, CMP,
+      /* S_Z */  CMP,  1,   1,  CMP, -1,  CMP, CMP, CMP,
                  -1,  CMP, CMP, CMP
   };
 
@@ -81,7 +83,7 @@ strverscmp (s1, s2)
   c1 = *p1++;
   c2 = *p2++;
   /* Hint: '0' is a digit too.  */
-  state = S_N | (c1 == '0') + (isdigit (c1) != 0);
+  state = S_N | ((c1 == '0') + (isdigit (c1) != 0));
 
   while ((diff = c1 - c2) == 0 && c1 != '\0')
     {