if (sc->Users[digestrecp] == NULL)
return;
- if (sc->num_msgs_spooled < 1) {
- fclose(sc->digestfp);
- sc->digestfp = NULL;
- return;
- }
-
msg = malloc(sizeof(struct CtdlMessage));
memset(msg, 0, sizeof(struct CtdlMessage));
msg->cm_magic = CTDLMESSAGE_MAGIC;
CM_SetAsField(msg, eMesageText, &pbuf, msglen);
/* Now generate the delivery instructions */
- if (sc->Users[digestrecp] == NULL)
- return;
/* Where do we want bounces and other noise to be heard?
- *Surely not the list members! */
+ * Surely not the list members! */
snprintf(bounce_to, sizeof bounce_to, "room_aide@%s", config.c_fqdn);
/* Now submit the message */
msg = CM_Duplicate(omsg);
if (msg != NULL) {
+ sc->haveDigest = 1;
fprintf(sc->digestfp,
" -----------------------------------"
"------------------------------------"
if (sc->Users[digestrecp] != NULL) {
sc->digestfp = create_digest_file(&sc->room);
- sc->newDigest = ftell(sc->digestfp) > 0;
- if (sc->newDigest) {
+ sc->haveDigest = ftell(sc->digestfp) > 0;
+ if (!sc->haveDigest) {
fprintf(sc->digestfp, "Content-type: text/plain\n\n");
}
}
delta = (24 * 60 * 60) - delta;
}
- if ((secs_today < 300) &&
+ if (sc->haveDigest &&
+ (secs_today < 300) &&
(delta < 300) )
{
last_digest_delivery = now;