Index: branches/PublicaMundi_David-devel/thirds/cgic206/cgic.c
===================================================================
--- branches/PublicaMundi_David-devel/thirds/cgic206/cgic.c	(revision 506)
+++ branches/PublicaMundi_David-devel/thirds/cgic206/cgic.c	(revision 511)
@@ -123,5 +123,5 @@
 static cgiParseResultType cgiParseFormInput(char *data, int length);
 static void cgiSetupConstants();
-static void cgiFreeResources();
+void cgiFreeResources();
 static int cgiStrEqNc(char *s1, char *s2);
 static int cgiStrBeginsNc(char *s1, char *s2);
@@ -130,9 +130,8 @@
 
 
-int main(int argc, char *argv[]) {
+int cgiMain_init(int argc, char *argv[]) {
 	int result;
 	char *cgiContentLengthString;
 	char *e;
-	while (FCGI_Accept() >= 0) {
 	cgiSetupConstants();
 	cgiGetenv(&cgiServerSoftware, "SERVER_SOFTWARE");
@@ -310,8 +309,4 @@
 		}
 	}
-	result = cgiMain();
-	cgiFreeResources();
-	}
-	FCGI_Finish();
 	return result;
 }
@@ -1177,5 +1172,5 @@
 }
 
-static void cgiFreeResources() {
+void cgiFreeResources() {
 	cgiFormEntry *c = cgiFormEntryFirst;
 	cgiFormEntry *n;
Index: branches/PublicaMundi_David-devel/thirds/cgic206/cgic.h
===================================================================
--- branches/PublicaMundi_David-devel/thirds/cgic206/cgic.h	(revision 506)
+++ branches/PublicaMundi_David-devel/thirds/cgic206/cgic.h	(revision 511)
@@ -415,11 +415,6 @@
 int cgiMain();
 extern 
-#ifdef __cplusplus
-"C" 
-#endif
-int cgiMain_init();
-
-
-extern 
+
+
 #ifdef __cplusplus
 "C" 
@@ -454,4 +449,8 @@
 cgiFormResultType cgiValueEscapeData(char *data, int len);
 
+int cgiMain_init(int argc, char *argv[]);
+
+void cgiFreeResources();
+
 #endif /* CGI_C */
 
