ack/lang/cem/libcc.ansi/string/strncmp.c
eck a41c51783a improved the speed somewhat
fixed bug with negative chars in comparisons
1990-08-28 13:54:46 +00:00

27 lines
509 B
C

/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
/* $Header$ */
#include <string.h>
int
strncmp(register const char *s1, register const char *s2, register size_t n)
{
if (n) {
do {
if (*s1 != *s2++)
break;
if (*s1++ == '\0')
return 0;
} while (--n > 0);
if (n > 0) {
if (*s1 == '\0') return -1;
if (*--s2 == '\0') return 1;
return *s1 - *s2;
}
}
return 0;
}