just adjust the refcounts in one place.
authorWilfried Goesgens <dothebart@citadel.org>
Tue, 22 Nov 2011 00:00:13 +0000 (01:00 +0100)
committerWilfried Goesgens <dothebart@citadel.org>
Tue, 22 Nov 2011 00:00:13 +0000 (01:00 +0100)
citadel/modules/smtp/serv_smtpqueue.c

index 2197acf63dd34d36bd95e6f54666f5fb0c8a9e02..ce2d739bbf0ec3c9bd6856733ffafbc24d7c61cf 100644 (file)
@@ -183,10 +183,11 @@ int CountActiveQueueEntries(OneQueItem *MyQItem)
 {
        HashPos  *It;
        long len;
+       long ActiveDeliveries;
        const char *Key;
        void *vQE;
 
-       MyQItem->ActiveDeliveries = 0;
+       ActiveDeliveries = 0;
        It = GetNewHashPos(MyQItem->MailQEntries, 0);
        while (GetNextHashPos(MyQItem->MailQEntries, It, &len, &Key, &vQE))
        {
@@ -195,14 +196,14 @@ int CountActiveQueueEntries(OneQueItem *MyQItem)
                    (ThisItem->Status == 3) ||
                    (ThisItem->Status == 4))
                {
-                       MyQItem->ActiveDeliveries++;
+                       ActiveDeliveries++;
                        ThisItem->Active = 1;
                }
                else 
                        ThisItem->Active = 0;
        }
        DeleteHashPos(&It);
-       return MyQItem->ActiveDeliveries;
+       return ActiveDeliveries;
 }
 
 OneQueItem *DeserializeQueueItem(StrBuf *RawQItem, long QueMsgID)
@@ -747,11 +748,13 @@ void smtp_do_procmsg(long msgnum, void *userdata) {
        while (GetNextHashPos(MyQItem->MailQEntries, It, &len, &Key, &vQE))
        {
                MailQEntry *ThisItem = vQE;
-               syslog(LOG_DEBUG, "SMTP Queue: Task: <%s> %d\n", ChrPtr(ThisItem->Recipient), ThisItem->Active);
+               syslog(LOG_DEBUG, "SMTP Queue: Task: <%s> %d\n", 
+                      ChrPtr(ThisItem->Recipient), 
+                      ThisItem->Active);
        }
        DeleteHashPos(&It);
 
-       CountActiveQueueEntries(MyQItem);
+       MyQItem->ActiveDeliveries = CountActiveQueueEntries(MyQItem);
        if (MyQItem->ActiveDeliveries > 0)
        {
                int n = MsgCount++;