From: Daniel Gruno Date: Thu, 5 Sep 2013 08:23:05 +0000 (+0000) Subject: mod_lua: Use ap_cookie_read for reading cookie values, since it's already there. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0f8de8bae8b51262bf77852a0754907de4d2b48;p=thirdparty%2Fapache%2Fhttpd.git mod_lua: Use ap_cookie_read for reading cookie values, since it's already there. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1520248 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/lua/lua_request.c b/modules/lua/lua_request.c index 220bfbaf35d..6f43da5c36c 100644 --- a/modules/lua/lua_request.c +++ b/modules/lua/lua_request.c @@ -27,6 +27,7 @@ #include "apr_pools.h" #include "apr_thread_mutex.h" #include "apr_tables.h" +#include "util_cookies.h" #include @@ -1891,15 +1892,12 @@ static int lua_ivm_set(lua_State *L) static int lua_get_cookie(lua_State *L) { - const char *key, *cookies, *pattern; - char *cookie; + int n; + const char *key, *cookie; request_rec *r = ap_lua_check_request_rec(L, 1); key = luaL_checkstring(L, 2); - cookie = apr_pcalloc(r->pool, 256); - cookies = apr_table_get(r->headers_in, "Cookie"); - pattern = apr_psprintf(r->pool, "%s=%%255[^;]", key); - sscanf(cookies, pattern, cookie); - if (strlen(cookie) > 0) { + ap_cookie_read(r, key, &cookie, 0); + if (cookie != NULL) { lua_pushstring(L, cookie); return 1; }