]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/util/strdicasecmp.c
Ignore object files
[netatalk.git] / libatalk / util / strdicasecmp.c
index 6f3b996d59e42c8f8137a8501d3ee01a4177da6a..ff7c0772c6a804654db836ddf4c783d91fc47020 100644 (file)
@@ -1,6 +1,10 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <atalk/util.h>
 
-unsigned const char    _diacasemap[] = {
+const int      _diacasemap[] = {
        /* map  value   name */
        0       /* 0    NUL*/,
        1       /* 1    SOH*/,
@@ -260,7 +264,7 @@ unsigned const char _diacasemap[] = {
        255     /* 255  caron*/,
 };
 
-unsigned const char    _dialowermap[] = {
+const int      _dialowermap[] = {
        /* map  value   name */
        0       /* 0    NUL*/,
        1       /* 1    SOH*/,
@@ -520,25 +524,31 @@ unsigned const char       _dialowermap[] = {
        255     /* 255  caron*/,
 };
 
-int strdiacasecmp( s1, s2 )
-    const unsigned char        *s1, *s2;
+int strdiacasecmp( const char *s1, const char *s2 )
 {
-    while ( _diacasemap[ *s1 ] == _diacasemap[ *s2++ ] ) {
+    while ( _diacasemap[ (unsigned char) *s1 ] ==
+           _diacasemap[ (unsigned char) *s2++ ] ) {
        if ( *s1++ == '\0' ) {
            return( 0 );
        }
     }
-    return( _diacasemap[ *s1 ] - _diacasemap[ *--s2 ] );
+    return( _diacasemap[ (unsigned char) *s1 ] -
+           _diacasemap[ (unsigned char) *--s2 ] );
 }
 
-int strndiacasecmp( s1, s2, n )
-    const unsigned char        *s1, *s2;
-    int                        n;
+int strndiacasecmp( const char *s1, const char *s2, size_t n )
 {
-    while ( --n >= 0 && _diacasemap[ *s1 ] == _diacasemap[ *s2++ ] ) {
+    while ( n > 0 &&
+           _diacasemap[ (unsigned char) *s1 ] ==
+           _diacasemap[ (unsigned char) *s2++ ] ) {
        if ( *s1++ == '\0' ) {
            return( 0 );
        }
+       n--;
     }
-    return( n < 0 ? 0 : _diacasemap[ *s1 ] - _diacasemap[ *--s2 ] );
+
+    if (n == 0)
+       return 0;
+    return _diacasemap[ (unsigned char) *s1 ] -
+          _diacasemap[ (unsigned char) *--s2 ];
 }