summaryrefslogtreecommitdiff
path: root/src/plugin.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2019-11-26 02:13:05 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2020-07-08 19:54:28 -0400
commit50bdb55de804953378171cd1caf82bef27ec6cab (patch)
tree7246396bcd91e110122f6bf98c47a651c188a395 /src/plugin.c
parent0fcd51438dc663dc1bebf54404e94128924687dd (diff)
downloadlighttpd-git-50bdb55de804953378171cd1caf82bef27ec6cab.tar.gz
[multiple] connection hooks no longer get (srv *)
(explicit (server *) not passed; available in con->srv)
Diffstat (limited to 'src/plugin.c')
-rw-r--r--src/plugin.c41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/plugin.c b/src/plugin.c
index 139aa8fb..04652be1 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -283,13 +283,14 @@ typedef struct {
} plugin_fn_data;
__attribute_hot__
-static handler_t plugins_call_fn_srv_con_data(server * const srv, connection * const con, const int e) {
- const uint32_t offset = ((const uint16_t *)srv->plugin_slots)[e];
+static handler_t plugins_call_fn_con_data(connection * const con, const int e) {
+ const void * const plugin_slots = con->plugin_slots;
+ const uint32_t offset = ((const uint16_t *)plugin_slots)[e];
if (0 == offset) return HANDLER_GO_ON;
const plugin_fn_data *plfd = (const plugin_fn_data *)
- (((uintptr_t)srv->plugin_slots) + offset);
+ (((uintptr_t)plugin_slots) + offset);
handler_t rc = HANDLER_GO_ON;
- while (plfd->fn && (rc = plfd->fn(srv,con,plfd->data)) == HANDLER_GO_ON)
+ while (plfd->fn && (rc = plfd->fn(con, plfd->data)) == HANDLER_GO_ON)
++plfd;
return rc;
}
@@ -322,24 +323,24 @@ static void plugins_call_fn_srv_data_all(server * const srv, const int e) {
* - void *p_d (plugin_data *)
*/
-#define PLUGIN_CALL_FN_SRV_CON_DATA(x, y) \
- handler_t plugins_call_##y(server *srv, connection *con) {\
- return plugins_call_fn_srv_con_data(srv, con, x); \
+#define PLUGIN_CALL_FN_CON_DATA(x, y) \
+ handler_t plugins_call_##y(connection *con) {\
+ return plugins_call_fn_con_data(con, x); \
}
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_URI_CLEAN, handle_uri_clean)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_URI_RAW, handle_uri_raw)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_ENV, handle_request_env)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_DONE, handle_request_done)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_ACCEPT, handle_connection_accept)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_SHUT_WR, handle_connection_shut_wr)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_CLOSE, handle_connection_close)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST, handle_subrequest)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST_START, handle_subrequest_start)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_RESPONSE_START, handle_response_start)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_DOCROOT, handle_docroot)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_PHYSICAL, handle_physical)
-PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_CONNECTION_RESET, connection_reset)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_URI_CLEAN, handle_uri_clean)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_URI_RAW, handle_uri_raw)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_ENV, handle_request_env)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_DONE, handle_request_done)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_ACCEPT, handle_connection_accept)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_SHUT_WR, handle_connection_shut_wr)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_CLOSE, handle_connection_close)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST, handle_subrequest)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST_START, handle_subrequest_start)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_RESPONSE_START, handle_response_start)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_DOCROOT, handle_docroot)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_PHYSICAL, handle_physical)
+PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_CONNECTION_RESET, connection_reset)
#undef PLUGIN_CALL_FN_SRV_CON_DATA