[0001]
[0002]
[0003]
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
/*
 * Verify operation of cgilib routines.
 */
#include <stdio.h>
#include <stdlib.h>

#include "cgilib.h"
int cgi_show_env();

int main ( int argc, char **argv )
{
    int status;
    int content_length;
    char *content_data;

    status = cgi_init ( argc, argv );
    cgi_printf("content-type: text/plain\n\n");	/* CGI header */
    cgi_printf("status of cgi_init: %d\n", status );

    status = cgi_show_env ( cgi_printf );
    cgi_printf("final status of show_env: %d\n", status );

    cgi_printf(
	"cgi_info content_legth addr: %d\n", cgi_info ( "CONTENT_LENGTH" ));

    content_length = atoi(cgi_info ("CONTENT_LENGTH"));
    fprintf(stderr,"Content length: %d\n", content_length );
    if (content_length == 0)
    {
	return 1;
    }

    content_data = (char *) malloc(sizeof(char)*(content_length+1));
    status = cgi_read(content_data, content_length);

    cgi_printf("read status   : %d\n", status);

    cgi_printf("content length: %d\n", content_length);
    cgi_printf("content text  : %s\n", content_data);

    return 1;
}