Blame src/functional/string_strcspn.c

nsz 49b23c
#include <stddef.h>
nsz 49b23c
#include <string.h>
nsz 49b23c
#include "test.h"
nsz 49b23c
nsz 49b23c
#define T(s, c, n) { \
nsz 49b23c
	char *p = s; \
nsz 49b23c
	char *q = c; \
nsz 49b23c
	size_t r = strcspn(p, q); \
nsz 49b23c
	if (r != n) \
Szabolcs Nagy cfa23c
		t_error("strcspn(%s,%s) returned %lu, wanted %lu\n", #s, #c, (unsigned long)r, (unsigned long)(n)); \
nsz 49b23c
}
nsz 49b23c
nsz 49b23c
int main(void)
nsz 49b23c
{
nsz 49b23c
	int i;
nsz 49b23c
	char a[128];
nsz 49b23c
	char s[256];
nsz 49b23c
nsz 49b23c
	for (i = 0; i < 128; i++)
nsz 49b23c
		a[i] = (i+1) & 127;
nsz 49b23c
	for (i = 0; i < 256; i++)
nsz 49b23c
		*((unsigned char*)s+i) = i+1;
nsz 49b23c
nsz 49b23c
	T("", "", 0)
nsz 49b23c
	T("a", "", 1)
nsz 49b23c
	T("", "a", 0)
nsz 49b23c
	T("abc", "cde", 2)
nsz 90956e
	T("abc", "ccc", 2)
nsz 49b23c
	T("abc", a, 0)
nsz 49b23c
	T("\xff\x80 abc", a, 2)
nsz 49b23c
	T(s, "\xff", 254)
nsz 49b23c
Szabolcs Nagy cfa23c
	return t_status;
nsz 49b23c
}