if (!strncasecmp(buf, "m=", 2)) {
msgnum = atol(&buf[2]);
if (msgnum > 0L) {
- CtdlDeleteMessages(roomname, &msgnum, 1, "", 0);
+ CtdlDeleteMessages(roomname, &msgnum, 1, "");
}
}
}
retval = PurgeEuidIndexTable();
lprintf(CTDL_NOTICE, "Purged %d entries from the EUID index.\n", retval);
+ retval = TDAP_ProcessAdjRefCountQueue();
+ lprintf(CTDL_NOTICE, "Processed %d message reference count adjustments.\n", retval);
+
lprintf(CTDL_INFO, "Auto-purger: finished.\n");
last_purge = now; /* So we don't do it again soon */
if ( (smi.meta_refcount != realcount)
|| (realcount == 0) ) {
- smi.meta_refcount = realcount;
- PutMetaData(&smi);
- AdjRefCount(msgnum, 0); /* deletes if needed */
+ AdjRefCount(msgnum, (smi.meta_refcount - realcount));
}
}