#include <stdio.h>
#ifndef NO_STDLIB_H
#include <stdlib.h>
#endif
#include "cgi-util.h"

#define MAX_ENTRIES 1000


int main(int argc, char *argv[])
{
entry entries[MAX_ENTRIES];
int x, m, p;
char value[80];

	/**CGI: inicializar o modulo de CGI **/
	m = cgi_init(entries, sizeof(entries)/sizeof(entries[0]));
	if (m < 0)
	{
		/**CGI: reportar erro no modulo **/
		cgi_send_error(m);
		exit(1);
	}

	/**CGI: indicar tipo de conteudo da resposta **/  
	cgi_send_header(HEADER_TYPE_TEXT_HTML);
	
	/* construir documento */
	printf("<H1>Query Results</H1>");	/* printf("<p>QUERY_STRING:</p>");
	printf(getenv("QUERY_STRING"));	printf("<hr>"); */
	printf("You submitted the following name/value pairs:<p>%c", 10);
	printf("<ul>%c", 10);
	for (x = 0; x < m; x++)
	{
		printf("<li> <code>%s = %s</code>%c", entries[x].name, entries[x].val, 10);
	}
	printf("</ul>%c", 10);
	printf("<hr>%c", 10);

	printf("enumerar todos os valores de menu2<br>%c", 10);
	/**CGI: procurar por um valor **/
	p = cgi_get_value_from_key(value, sizeof(value), "menu2", 0, entries, m);
	while (p != -1)
	{
		printf("menu2 = %s<br>%c", value, 10);
		/**CGI: procurar por um valor. **/
		/**NOTA: usa o valor de retorno anterior para o parametro pos **/
		p = cgi_get_value_from_key(value, sizeof(value), "menu2", p, entries, m);
	}	
	/**CGI: libertar recursos do modulo **/
	cgi_uninit(entries, m);		return 0;
}

