summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/ap/gen/strncmp.c
blob: e76b09b9de837cabc074ed0ab7a4a5cfc0c9ff01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string.h>

int
strncmp(const char *s1, const char *s2, size_t n)
{
	unsigned c1, c2;
	long nn;

	nn = n;
	while(nn > 0) {
		c1 = *s1++;
		c2 = *s2++;
		nn--;
		if(c1 != c2) {
			if(c1 > c2)
				return 1;
			return -1;
		}
		if(c1 == 0)
			break;
	}
	return 0;
}