shithub: scc

ref: fe9bac1eb738478ab7335626802ae4b954454dc1
dir: /lib/c/strncmp.c/

View raw version
#include <string.h>
#undef strncmp

int
strncmp(const char *s1, const char *s2, size_t n)
{
	int c;

	if (n == 0)
		return 0;
	while ((c = *s1) != '\0' && c == *s2) {
		if (--n == 0)
			return 0;
		++s1, ++s2;
	}
	return (*(unsigned char *) s1 - *(unsigned char *) s2);
}