From 3403abe05fc62efda046fe65c0b43ce785ab1f4d Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 18 Mar 2010 20:10:13 +0000 Subject: [PATCH] uhttpd: only enable Lua runtime if a handler was specified --- contrib/package/uhttpd/src/uhttpd.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/contrib/package/uhttpd/src/uhttpd.c b/contrib/package/uhttpd/src/uhttpd.c index ffa44aacc..1f66f785f 100644 --- a/contrib/package/uhttpd/src/uhttpd.c +++ b/contrib/package/uhttpd/src/uhttpd.c @@ -347,8 +347,8 @@ static int uh_docroot_resolve(const char *path, char *buf) int main (int argc, char **argv) { #ifdef HAVE_LUA - /* init Lua runtime */ - lua_State *L; + /* Lua runtime */ + lua_State *L = NULL; #endif /* master file descriptor list */ @@ -552,15 +552,6 @@ int main (int argc, char **argv) exit(1); } -#ifdef HAVE_LUA - /* default lua prefix and handler */ - if( ! conf.lua_handler ) - conf.lua_handler = "./lua/handler.lua"; - - if( ! conf.lua_prefix ) - conf.lua_prefix = "/lua"; -#endif - #ifdef HAVE_CGI /* default cgi prefix */ if( ! conf.cgi_prefix ) @@ -568,8 +559,15 @@ int main (int argc, char **argv) #endif #ifdef HAVE_LUA - /* init Lua runtime */ - L = uh_lua_init(conf.lua_handler); + /* init Lua runtime if handler is specified */ + if( conf.lua_handler ) + { + /* default lua prefix */ + if( ! conf.lua_prefix ) + conf.lua_prefix = "/lua"; + + L = uh_lua_init(conf.lua_handler); + } #endif /* fork (if not disabled) */ @@ -682,8 +680,9 @@ int main (int argc, char **argv) #endif #ifdef HAVE_LUA - if( strstr(req->url, conf.lua_prefix) == req->url ) - { + if( (L != NULL) && + (strstr(req->url, conf.lua_prefix) == req->url) + ) { uh_lua_request(cl, req, L); } else @@ -715,7 +714,8 @@ int main (int argc, char **argv) #ifdef HAVE_LUA /* destroy the Lua state */ - lua_close(L); + if( L != NULL ) + lua_close(L); #endif return 0; -- 2.11.0