]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_extensions.c
* Backport the important part of r8717 to stable. I forgot I did this on Friday...
[citadel.git] / citadel / serv_extensions.c
index 35abfcc0a2c1ec83e4127a76f22c193fa739fb37..0617cce0a750a0622258352736915230c5acdb35 100644 (file)
@@ -836,7 +836,7 @@ void CtdlDestroyServiceHook(void)
        ServiceHookTable = NULL;
 }
 
-void CtdlRegisterSearchFuncHook(void (*fcn_ptr)(int *, long **, char *), char *name)
+void CtdlRegisterSearchFuncHook(void (*fcn_ptr)(int *, long **, const char *), char *name)
 {
        struct SearchFunctionHook *newfcn;
 
@@ -854,7 +854,7 @@ void CtdlRegisterSearchFuncHook(void (*fcn_ptr)(int *, long **, char *), char *n
        CtdlLogPrintf(CTDL_INFO, "Registered a new search function (%s)\n", name);
 }
 
-void CtdlUnregisterSearchFuncHook(void (*fcn_ptr)(int *, long **, char *), char *name)
+void CtdlUnregisterSearchFuncHook(void (*fcn_ptr)(int *, long **, const char *), char *name)
 {
        struct SearchFunctionHook *cur, *p;
        
@@ -871,7 +871,7 @@ void CtdlUnregisterSearchFuncHook(void (*fcn_ptr)(int *, long **, char *), char
        }
 }
 
-void CtdlModuleDoSearch(int *num_msgs, long **search_msgs, char *search_string, char *func_name)
+void CtdlModuleDoSearch(int *num_msgs, long **search_msgs, const char *search_string, const char *func_name)
 {
        struct SearchFunctionHook *fcn = NULL;
 
@@ -891,6 +891,9 @@ void PerformSessionHooks(int EventType)
 
        for (fcn = SessionHookTable; fcn != NULL; fcn = fcn->next) {
                if (fcn->eventtype == EventType) {
+                       if (EventType == EVT_TIMER) {
+                               citthread_setspecific(MyConKey, NULL);  /* for every hook */
+                       }
                        (*fcn->h_function_pointer) ();
                }
        }