t0021.c

来自「在Linux/Unix下面访问WINDOWS SQLSERVER 的ODBC驱动」· C语言 代码 · 共 65 行

C
65
字号
/*  * Purpose: Test dbsafestr() * Functions: dbsafestr  */#include "common.h"static char software_version[] = "$Id: t0021.c,v 1.12 2006/07/06 12:48:16 freddy77 Exp $";static void *no_unused_var_warn[] = { software_version, no_unused_var_warn };int failed = 0;/* unsafestr must contain one quote of each type */const char *unsafestr = "This is a string with ' and \" in it.";/* safestr must be at least strlen(unsafestr) + 3 */char safestr[100];intmain(int argc, char **argv){	int len;	RETCODE ret;	set_malloc_options();	fprintf(stdout, "Start\n");	/* Fortify_EnterScope(); */	dbinit();	len = strlen(unsafestr);	ret = dbsafestr(NULL, unsafestr, -1, safestr, len, DBSINGLE);	if (ret != FAIL)		failed++;	fprintf(stdout, "short buffer, single\n%s\n", safestr);	/* plus one for termination and one for the quote */	ret = dbsafestr(NULL, unsafestr, -1, safestr, len + 2, DBSINGLE);	if (ret != SUCCEED)		failed++;	if (strlen(safestr) != len + 1)		failed++;	fprintf(stdout, "single quote\n%s\n", safestr);	ret = dbsafestr(NULL, unsafestr, -1, safestr, len + 2, DBDOUBLE);	if (ret != SUCCEED)		failed++;	if (strlen(safestr) != len + 1)		failed++;	fprintf(stdout, "double quote\n%s\n", safestr);	ret = dbsafestr(NULL, unsafestr, -1, safestr, len + 3, DBBOTH);	if (ret != SUCCEED)		failed++;	if (strlen(safestr) != len + 2)		failed++;	fprintf(stdout, "both quotes\n%s\n", safestr);	dbexit();	fprintf(stdout, "dblib %s on %s\n", (failed ? "failed!" : "okay"), __FILE__);	return failed ? 1 : 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?