summaryrefslogtreecommitdiff
path: root/src/lib.c
blob: d072f1a8c6438084b3ca80456b9535aa6776a9b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <lib.h>

int strncmp(const char *lhs, const char *rhs, unsigned long n) {
	const unsigned char *l=(void *)lhs, *r=(void *)rhs;
	if (!n--) return 0;
	for (; *l && *r && n && *l == *r ; l++, r++, n--);
	return *l - *r;
}

int memcmp(const void *vl, const void *vr, unsigned long n) {
    const unsigned char *l = vl, *r = vr;
    for (; n && *l == *r; n--, l++, r++);
    return n ? *l-*r : 0;
}