/* global variable for rrdcgi */
s_cgi *rrdcgiArg;
-/* rrdcgiHeader
- *
- * Prints a valid CGI Header (Content-type...) etc.
- */
-static void rrdcgiHeader(
- void);
-
/* rrdcgiDecodeString
* decode html escapes
*/
s_cgi * parms,
const char *name);
-/* rrdcgiFreeList
- *
- * Frees a list as returned by rrdcgiGetVariables()
- */
-static void rrdcgiFreeList(
- char **list);
-
-/* rrdcgiFree
- *
- * Frees the internal data structures
- */
-static void rrdcgiFree(
- s_cgi * parms);
-
/* rrdcgiReadVariables()
*
* Read from stdin if no string is provided via CGI. Variables that
return (buf);
}
-static void rrdcgiHeader(
- void)
-{
- if (rrdcgiType)
- printf("Content-type: %s\n", rrdcgiType);
- else
- printf("Content-type: text/html\n");
- if (rrdcgiHeaderString)
- printf("%s", rrdcgiHeaderString);
- printf("\n");
-}
-
static void rrdcgiDebug(
int level,
int where)
return NULL;
}
-static void rrdcgiFreeList(
- char **list)
-{
- int i;
-
- for (i = 0; list[i] != NULL; i++)
- free(list[i]);
- free(list);
-}
-
-static void rrdcgiFree(
- s_cgi * parms)
-{
- int i;
-
- if (!parms)
- return;
- if (parms->vars) {
- for (i = 0; parms->vars[i]; i++) {
- if (parms->vars[i]->name)
- free(parms->vars[i]->name);
- if (parms->vars[i]->value)
- free(parms->vars[i]->value);
- free(parms->vars[i]);
- }
- free(parms->vars);
- }
- free(parms);
-
- if (rrdcgiHeaderString) {
- free(rrdcgiHeaderString);
- rrdcgiHeaderString = NULL;
- }
- if (rrdcgiType) {
- free(rrdcgiType);
- rrdcgiType = NULL;
- }
-}