Silence!
[citadel.git] / citadel / modules / network / serv_netspool.c
index 15f309972537b2592baac01fdfb072bd4d1a5ea0..0edb1f11efa0e240bcf7c7c3d79ead11d21b3934 100644 (file)
@@ -182,6 +182,7 @@ void InspectQueuedRoom(SpoolControl **pSC,
                       HashList *working_ignetcfg,
                       HashList *the_netmap)
 {
+       struct CitContext *CCC = CC;
        SpoolControl *sc;
        int i = 0;
 
@@ -204,7 +205,7 @@ void InspectQueuedRoom(SpoolControl **pSC,
        }
        if (sc->room.QRhighest <= sc->lastsent)
        {
-               syslog(LOG_DEBUG, "nothing to do for <%s>\n", room_to_spool->name);
+               QN_syslog(LOG_DEBUG, "nothing to do for <%s>\n", room_to_spool->name);
                free(sc);
                return;
        }
@@ -353,16 +354,6 @@ void network_spoolout_room(SpoolControl *sc)
 
        syslog(LOG_INFO, "Networking started for <%s>\n", CCC->room.QRname);
 
-       /* If there are digest recipients, we have to build a digest */
-       if (sc->Users[digestrecp] != NULL) {
-               
-               sc->digestfp = create_digest_file(&sc->room);
-               sc->newDigest = ftell(sc->digestfp) > 0;
-               if (sc->newDigest) {
-                       fprintf(sc->digestfp, "Content-type: text/plain\n\n");
-               }
-       }
-
        CalcListID(sc);
 
        /* remember where we started... */
@@ -394,7 +385,7 @@ void network_spoolout_room(SpoolControl *sc)
 
 
        /* If we wrote a digest, deliver it and then close it */
-       if (sc->digestfp != NULL) {
+       if (sc->Users[digestrecp] != NULL) {
                time_t now = time(NULL);
                time_t secs_today = now % (24 * 60 * 60);
                long delta = 0;
@@ -405,23 +396,30 @@ void network_spoolout_room(SpoolControl *sc)
                }
 
                if ((secs_today < 300) && 
-                   (delta < 300) )
+                   (delta < 300))
                {
-                       last_digest_delivery = now;
-                       fprintf(sc->digestfp,
-                               " -----------------------------------"
-                               "------------------------------------"
-                               "-------\n"
-                               "You are subscribed to the '%s' "
-                               "list.\n"
-                               "To post to the list: %s\n",
-                               CCC->room.QRname, buf
-                               );
-                       network_deliver_digest(sc);     /* deliver */
+                       if (sc->digestfp == NULL) {
+                               sc->digestfp = create_digest_file(&sc->room, 0);
+                       }
+                       if (sc->digestfp != NULL) {
+                               last_digest_delivery = now;
+                               fprintf(sc->digestfp,
+                                       " -----------------------------------"
+                                       "------------------------------------"
+                                       "-------\n"
+                                       "You are subscribed to the '%s' "
+                                       "list.\n"
+                                       "To post to the list: %s\n",
+                                       CCC->room.QRname, buf
+                                       );
+                               network_deliver_digest(sc);     /* deliver */
+                               remove_digest_file(&sc->room);
+                       }
                }
+       }
+       if (sc->digestfp != NULL) {
                fclose(sc->digestfp);
                sc->digestfp = NULL;
-               remove_digest_file(&sc->room);
        }
 
        /* Now rewrite the config file */