From ac5114fdf74099a8ce8b9c154231e226e6883b94 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 13 Mar 2020 19:22:39 +0300 Subject: [magi] --- src/cgi.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'src/cgi.c') diff --git a/src/cgi.c b/src/cgi.c index 291a57f..810d85e 100644 --- a/src/cgi.c +++ b/src/cgi.c @@ -15,7 +15,7 @@ #include #include -extern char **environ; +extern char **const environ; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -32,7 +32,9 @@ static char *plain_env(char *env_name) static char *lower_env(char *env_name) { - return magi_str_lowercase(plain_env(env_name)); + char *env = plain_env(env_name); + magi_str_lowercase(env); + return env; } static void cgi_http_env(magi_request *r) @@ -42,21 +44,15 @@ static void cgi_http_env(magi_request *r) r->meta = 0; for (env = environ; *env; ++env) { magi_param meta; - char *name_end; - int dlen; - if (!strncmp(*env, "HTTP_COOKIE=", 12) || - !strncmp(*env, "QUERY_STRING=", 13)) { - continue; - } - /* At least one '=' must be in *env, according to format. */ - name_end = strchr(*env, '='); - dlen = strlen(name_end + 1); - len += name_end - *env + dlen; + char *name_end = strchr(*env, '='); + int nlen = name_end - *env; + int dlen = strlen(name_end + 1); + len += nlen + dlen; if (len > r->limits.params_meta && r->limits.params_meta) { r->error = magi_error_limit; return; } - meta.name = magi_str_create_copy(*env, name_end - *env); + meta.name = magi_str_create_copy(*env, nlen); meta.data = magi_str_create_copy(name_end + 1, dlen); magi_params_add(&r->meta, &meta); } -- cgit v1.2.3