]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/expire/serv_expire.c
use the gnu format string checker for CtdlLogPrintf; fix associated new warnings...
[citadel.git] / citadel / modules / expire / serv_expire.c
index 00869827d0a0e1edd742cc987c66dfae773a2728..45ac70de5ac03d946ff611b542a4533e4f6a962b 100644 (file)
@@ -82,6 +82,7 @@
 #include "control.h"
 #include "serv_network.h"      /* Needed for definition of UseTable */
 #include "threads.h"
+#include "context.h"
 
 #include "ctdl_module.h"
 
@@ -136,7 +137,6 @@ int users_not_purged;
 char *users_corrupt_msg = NULL;
 char *users_zero_msg = NULL;
 struct ctdlroomref *rr = NULL;
-extern struct CitContext *ContextList;
 int force_purge_now = 0;                       /* set to nonzero to force a run right now */
 
 
@@ -378,7 +378,7 @@ int PurgeRooms(void) {
                ++num_rooms_purged;
        }
 
-       if (num_rooms_purged > 0) aide_message(transcript, "Room Autopurger Message");
+       if (num_rooms_purged > 0) CtdlAideMessage(transcript, "Room Autopurger Message");
        free(transcript);
 
        CtdlLogPrintf(CTDL_DEBUG, "Purged %d rooms.\n", num_rooms_purged);
@@ -578,19 +578,19 @@ int PurgeUsers(void) {
                }
        }
 
-       if (num_users_purged > 0) aide_message(transcript, "User Purge Message");
+       if (num_users_purged > 0) CtdlAideMessage(transcript, "User Purge Message");
        free(transcript);
 
        if(users_corrupt_msg)
        {
-               aide_message(users_corrupt_msg, "User Corruption Message");
+               CtdlAideMessage(users_corrupt_msg, "User Corruption Message");
                free (users_corrupt_msg);
                users_corrupt_msg = NULL;
        }
        
        if(users_zero_msg)
        {
-               aide_message(users_zero_msg, "User Zero Message");
+               CtdlAideMessage(users_zero_msg, "User Zero Message");
                free (users_zero_msg);
                users_zero_msg = NULL;
        }
@@ -614,7 +614,7 @@ int PurgeUsers(void) {
  */
 int PurgeVisits(void) {
        struct cdbdata *cdbvisit;
-       struct visit vbuf;
+       visit vbuf;
        struct VPurgeList *VisitPurgeList = NULL;
        struct VPurgeList *vptr;
        int purged = 0;
@@ -633,10 +633,10 @@ int PurgeVisits(void) {
        /* Now traverse through the visits, purging irrelevant records... */
        cdb_rewind(CDB_VISIT);
        while(cdbvisit = cdb_next_item(CDB_VISIT), cdbvisit != NULL) {
-               memset(&vbuf, 0, sizeof(struct visit));
+               memset(&vbuf, 0, sizeof(visit));
                memcpy(&vbuf, cdbvisit->ptr,
-                       ( (cdbvisit->len > sizeof(struct visit)) ?
-                       sizeof(struct visit) : cdbvisit->len) );
+                       ( (cdbvisit->len > sizeof(visit)) ?
+                         sizeof(visit) : cdbvisit->len) );
                cdb_free(cdbvisit);
 
                RoomIsValid = 0;
@@ -829,9 +829,9 @@ int PurgeStaleOpenIDassociations(void) {
        while (cdboi = cdb_next_item(CDB_OPENID), cdboi != NULL) {
                if (cdboi->len > sizeof(long)) {
                        memcpy(&usernum, cdboi->ptr, sizeof(long));
-                       if (getuserbynumber(&usbuf, usernum) != 0) {
+                       if (CtdlGetUserByNumber(&usbuf, usernum) != 0) {
                                deleteme = strdup(cdboi->ptr + sizeof(long)),
-                               Put(keys, deleteme, strlen(deleteme), deleteme, generic_free_handler);
+                               Put(keys, deleteme, strlen(deleteme), deleteme, NULL);
                        }
                }
                cdb_free(cdboi);
@@ -842,7 +842,7 @@ int PurgeStaleOpenIDassociations(void) {
        HashPos = GetNewHashPos(keys, 0);
        while (GetNextHashPos(keys, HashPos, &len, &Key, &Value)!=0)
        {
-               CtdlLogPrintf(CTDL_DEBUG, "Deleting associated OpenID <%s>\n", Value);
+               CtdlLogPrintf(CTDL_DEBUG, "Deleting associated OpenID <%s>\n",  (char*)Value);
                cdb_delete(CDB_OPENID, Value, strlen(Value));
                /* note: don't free(Value) -- deleting the hash list will handle this for us */
                ++num_deleted;
@@ -864,10 +864,9 @@ void *purge_databases(void *args)
         struct tm tm;
        struct CitContext purgerCC;
 
-       CtdlLogPrintf(CTDL_DEBUG, "Auto-purger_thread() initializing\n");
-
        CtdlFillSystemContext(&purgerCC, "purger");
        citthread_setspecific(MyConKey, (void *)&purgerCC );
+       CtdlLogPrintf(CTDL_DEBUG, "Auto-purger_thread() initializing\n");
 
         while (!CtdlThreadCheckStop()) {
                 /* Do the auto-purge if the current hour equals the purge hour,
@@ -945,6 +944,7 @@ void *purge_databases(void *args)
                        CtdlLogPrintf(CTDL_INFO, "Auto-purger: STOPPED.\n");
 
         }
+       CtdlClearSystemContext();
         return NULL;
 }
 /*****************************************************************************/
@@ -1052,6 +1052,9 @@ CTDL_MODULE_INIT(expire)
        {
                /* CtdlRegisterProtoHook(cmd_fsck, "FSCK", "Check message ref counts"); */
                CtdlRegisterProtoHook(cmd_tdap, "TDAP", "Manually initiate auto-purger");
+
+               CtdlRegisterProtoHook(cmd_gpex, "GPEX", "Autoconverted. TODO: document me.");
+               CtdlRegisterProtoHook(cmd_spex, "SPEX", "Autoconverted. TODO: document me.");
        }
        else
                CtdlThreadCreate("Auto Purger", CTDLTHREAD_BIGSTACK, purge_databases, NULL);