-#ifdef CONFIG_FEATURE_HTTPD_SET_CGI_VARS_TO_ENV
-/****************************************************************************
- *
- > $Function: addEnvCgi
- *
- * $Description: Create environment variables given a URL encoded arg list.
- * For each variable setting the URL encoded arg list, create a corresponding
- * environment variable. URL encoded arguments have the form
- * name1=value1&name2=value2&name3=&ignores
- * from this example, name3 set empty value, tail without '=' skiping
- *
- * $Parameters:
- * (char *) pargs . . . . A pointer to the URL encoded arguments.
- *
- * $Return: None
- *
- * $Errors: None
- *
- ****************************************************************************/
-static void addEnvCgi(const char *pargs)
-{
- char *args;
- char *memargs;
- char *namelist; /* space separated list of arg names */
- if (pargs==0) return;
-
- /* args are a list of name=value&name2=value2 sequences */
- namelist = (char *) malloc(strlen(pargs));
- if (namelist) namelist[0]=0;
- memargs = args = strdup(pargs);
- while (args && *args) {
- const char *name = args;
- char *value = strchr(args, '=');
-
- if (!value) /* &XXX without '=' */
- break;
- *value++ = 0;
- args = strchr(value, '&');
- if (args)
- *args++ = 0;
- addEnv("CGI", name, decodeString(value, 1));
- if (*namelist) strcat(namelist, " ");
- strcat(namelist, name);
- }
- free(memargs);
- if (namelist) {
- addEnv("CGI", "ARGLIST_", namelist);
- free(namelist);
- }
-}
-#endif /* CONFIG_FEATURE_HTTPD_SET_CGI_VARS_TO_ENV */
-