#include <atalk/util.h>
-unsigned const char _diacasemap[] = {
+const int _diacasemap[] = {
/* map value name */
0 /* 0 NUL*/,
1 /* 1 SOH*/,
255 /* 255 caron*/,
};
-unsigned const char _dialowermap[] = {
+const int _dialowermap[] = {
/* map value name */
0 /* 0 NUL*/,
1 /* 1 SOH*/,
int strndiacasecmp( const char *s1, const char *s2, size_t n )
{
- while ( --n >= 0 &&
+ while ( n > 0 &&
_diacasemap[ (unsigned char) *s1 ] ==
_diacasemap[ (unsigned char) *s2++ ] ) {
if ( *s1++ == '\0' ) {
return( 0 );
}
+ n--;
}
- if (n < 0)
+ if (n == 0)
return 0;
return _diacasemap[ (unsigned char) *s1 ] -
_diacasemap[ (unsigned char) *--s2 ];