summaryrefslogtreecommitdiff
path: root/lib/libc/string/strncmp.c
blob: 2fbc2395a3c36063f183128df8b9bec23cee24f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stddef.h>

int strncmp(const char *s1, const char *s2, size_t n)
{
	const unsigned char *p1 = (const unsigned char *)s1;
	const unsigned char *p2 = (const unsigned char *)s2;

	while (n-- > 0) {
		if (*p1 != *p2 || *p1 == '\0')
			return *p1 - *p2;
		p1++;
		p2++;
	}

	return 0;
}