/* 
Filename:  vars.c
(c) 1995 William E. Weinman
*/

#include <stdio.h>
#include <stdlib.h>

/* temporary storage for the environment variable */
char * cp;
char * empty = "<empty>";

main(int argc, char ** argv)
{
/* send the mime-type header */
printf("Content-type: text/plain\n\n");

/* macro for displaying environment variables */
#define safenv(a) ((cp = getenv(a)) ? cp : empty)

/* display all the standard CGI variables */
printf("GATEWAY_INTERFACE = %s\n", safenv("GATEWAY_INTERFACE"));
printf("REQUEST_METHOD = %s\n", safenv("REQUEST_METHOD"));
printf("SCRIPT_NAME = %s\n", safenv("SCRIPT_NAME"));
printf("QUERY_STRING = %s\n", safenv("QUERY_STRING"));
printf("SERVER_SOFTWARE = %s\n", safenv("SERVER_SOFTWARE"));
printf("SERVER_NAME = %s\n", safenv("SERVER_NAME"));
printf("SERVER_PROTOCOL = %s\n", safenv("SERVER_PROTOCOL"));
printf("SERVER_PORT = %s\n", safenv("SERVER_PORT"));
printf("HTTP_USER_AGENT = %s\n", safenv("HTTP_USER_AGENT"));
printf("HTTP_ACCEPT = %s\n", safenv("HTTP_ACCEPT"));
printf("PATH_INFO = %s\n", safenv("PATH_INFO"));
printf("PATH_TRANSLATED = %s\n", safenv("PATH_TRANSLATED"));
printf("REMOTE_HOST = %s\n", safenv("REMOTE_HOST"));
printf("REMOTE_ADDR = %s\n", safenv("REMOTE_ADDR"));
printf("REMOTE_USER = %s\n", safenv("REMOTE_USER"));
printf("REMOTE_IDENT = %s\n", safenv("REMOTE_IDENT"));
printf("AUTH_TYPE = %s\n", safenv("AUTH_TYPE"));
printf("CONTENT_TYPE = %s\n", safenv("CONTENT_TYPE"));
printf("CONTENT_LENGTH = %s\n", safenv("CONTENT_LENGTH"));
}

