コード例 #1
0
ファイル: t_vis.c プロジェクト: 2asoft/freebsd
ATF_TC_BODY(strvis_basic, tc)
{
	char *srcbuf, *dstbuf, *visbuf;
	unsigned int i, j;

	ATF_REQUIRE((dstbuf = malloc(SIZE)) != NULL);
	ATF_REQUIRE((srcbuf = malloc(SIZE)) != NULL);
	ATF_REQUIRE((visbuf = malloc(SIZE * 4 + 1)) != NULL);

	for (i = 0; i < SIZE; i++)
		srcbuf[i] = (char)i;

	for (i = 0; i < __arraycount(styles); i++) {
		ATF_REQUIRE(strsvisx(visbuf, srcbuf, SIZE, styles[i], "") > 0);
		memset(dstbuf, 0, SIZE);
		ATF_REQUIRE(strunvisx(dstbuf, visbuf, 
		    styles[i] & (VIS_HTTP1808|VIS_MIMESTYLE)) > 0);
		for (j = 0; j < SIZE; j++)
			if (dstbuf[j] != (char)j)
				atf_tc_fail_nonfatal("Failed for style %x, "
				    "char %d [%d]", styles[i], j, dstbuf[j]);
	}
	free(dstbuf);
	free(srcbuf);
	free(visbuf);
}
コード例 #2
0
ファイル: strvis.c プロジェクト: petabi/pkgsrc
int
strvisx(char *dst, const char *src, size_t len, int flag)
{
	char *extra = NULL;
	int rv;

	MAKEEXTRALIST(flag, extra, "");
	if (!extra) {
		*dst = '\0';		/* can't create extra, return "" */
		return 0;
	}
	rv = strsvisx(dst, src, len, flag, extra);
	free(extra);
	return rv;
}