File: test.c

package info (click to toggle)
libecgi 0.6.2-2.2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 4,004 kB
  • ctags: 307
  • sloc: ansic: 1,781; makefile: 126; sh: 13; xml: 7
file content (94 lines) | stat: -rw-r--r-- 2,711 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <stdio.h>
#include <stdlib.h>
#include "ecgi.h"

const char *nl(const char *x)
{
	if(x==NULL) return("(NULL)");
	if(*x==0) return("(EMPTY)");
	return(x);
}

int main()
{
	CgiPos *p=NULL;
	const char *val;
	MFILE *mf; 
	const char *name;
	
	    setvbuf(stdout, NULL, _IOLBF, 0);
	    setvbuf(stderr, NULL, _IOLBF, 0);

	printf("Content-Type: text/html\n\n<html><body><pre>\n");
	
	if(cgi_init()!=true || cgi_errno!=0){
		printf("%s\n", cgi_strerror(cgi_errno));
		exit(0);
	}

	printf("init done - now dumping the list\n");
	listDump();

	printf("get text: %s\n", nl(cgi_param("text")));
	printf("get text: %s\n", nl(cgi_param("text")));
	printf("get text: %s\n", nl(cgi_param("text")));
	printf("get null: %s\n", nl(cgi_param(NULL)));
	printf("get text: %s\n", nl(cgi_param("text")));
	printf("get text: %s\n", nl(cgi_param("text")));
	printf("get text: %s\n", nl(cgi_param("text")));

	printf("get multiple select: %s\n", nl(cgi_param("multiple select")));
	printf("get multiple select: %s\n", nl(cgi_param("multiple select")));
	printf("get multiple select: %s\n", nl(cgi_param("multiple select")));
	printf("get null: %s\n", nl(cgi_param(NULL)));
	printf("get multiple select: %s\n", nl(cgi_param("multiple select")));
	printf("get multiple select: %s\n", nl(cgi_param("multiple select")));
	printf("get multiple select: %s\n", nl(cgi_param("multiple select")));

	printf("get textarea: %s\n", nl(cgi_param("textarea")));

	printf("get SHIT: %s\n", nl(cgi_param("SHIT")));
	
	printf("----------------SO FAR, SO GOOD--------------\n");

	if(cgiGetKind("file")==CgiKindFile){
		mf=cgiGetMFile("file");
		printf("duming non empty file %s (Length: %d CType: %s)\n", nl(cgiParam("file")), mfGetLength(mf), cgiGetCTyp("file"));
		printf("%s\n", mfGetData(mf));
	}	
	
	printf("Getting all names, where value = 'test'\n");
	while((name=cgiNameByValue("test"))!=NULL)
		printf("%s\n", name);



	// notice, no need to know any of the names of the fields from above

	printf("----------------Getting all names/values with the pos funcs -----------\n");

	while((p=cgiPosNext(p))!=NULL){
		printf("%s : ", cgiPosName(p));
		while((val=cgiPosParam(p))!=NULL)
			printf("%s ", val);
		printf("\n");
	}

	printf("----------------Getting all names with the name funcs -----------\n");
	printf("%s\n", cgiGetFirstName());
	while((val=cgiGetNextName())!=NULL)
		printf("%s\n", val);

	printf("----------------- dumping all data with the build in listDump function for debugging ---------------\n");
	listDump();

	printf("saving data to /tmp/ecgitstdump\n");
	cgiSaveDebugData("/tmp/ecgitstdump", "w");
	printf("saving done\n");

	cgi_done();

	printf("Free'd all Test complete! cgi lib working!\n");
	
	return(0);
}