You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by pq...@apache.org on 2008/11/09 20:00:34 UTC
svn commit: r712533 - /httpd/mod_wombat/trunk/mod_wombat.c
Author: pquerna
Date: Sun Nov 9 11:00:34 2008
New Revision: 712533
URL: http://svn.apache.org/viewvc?rev=712533&view=rev
Log:
Fix function based hooks, since I broken them with r712528.
Modified:
httpd/mod_wombat/trunk/mod_wombat.c
Modified: httpd/mod_wombat/trunk/mod_wombat.c
URL: http://svn.apache.org/viewvc/httpd/mod_wombat/trunk/mod_wombat.c?rev=712533&r1=712532&r2=712533&view=diff
==============================================================================
--- httpd/mod_wombat/trunk/mod_wombat.c (original)
+++ httpd/mod_wombat/trunk/mod_wombat.c Sun Nov 9 11:00:34 2008
@@ -211,12 +211,28 @@
return 500;
}
- apw_run_wombat_request(L, r);
-
- if (hook_spec->function_name) {
+ if (hook_spec->function_name != NULL) {
+ /* 'eval' the base code */
+ if (lua_pcall(L, 0, LUA_MULTRET, 0)) {
+ report_lua_error(L, r);
+ return 500;
+ }
+ }
+
+ if (hook_spec->function_name != NULL) {
lua_getglobal(L, hook_spec->function_name);
+ if (!lua_isfunction(L, -1)) {
+ ap_log_rerror(APLOG_MARK, APLOG_CRIT, 0, r, "wombat: Unable to find function %s in %s",
+ hook_spec->function_name,
+ hook_spec->file_name);
+ return 500;
+ }
+
+ apw_run_wombat_request(L, r);
}
else {
+ apw_run_wombat_request(L, r);
+
int t = lua_gettop(L);
lua_setglobal(L, "r");
lua_settop(L, t);