diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index 46c6fd51097679b1055092851c335369b171254a..ebc9d9e9a9a6046e7f957b64a0355c38158aba4f 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -4810,10 +4810,10 @@ bool retoss_bad_echomail(void) FREE_AND_NULL(body); FREE_AND_NULL(tail); - if(retval != SMB_SUCCESS) { + if(retval != SMB_SUCCESS) lprintf(LOG_ERR,"ERROR smb_addmsg(%s) returned %d: %s" ,scfg.sub[subnum]->code, retval, smb.last_error); - } else { + if(retval == SMB_SUCCESS || retval == SMB_DUPE_MSG) { badmsg.hdr.attr |= MSG_DELETE; if((retval = smb_updatemsg(&badsmb, &badmsg)) != SMB_SUCCESS) lprintf(LOG_ERR,"!ERROR %d (%s) deleting msg #%u in bad echo sub" @@ -5989,6 +5989,8 @@ int main(int argc, char **argv) for(unsigned subnum = 0; subnum < scfg.total_subs; subnum++) { if(cfg.badecho >=0 && cfg.area[cfg.badecho].sub == subnum) continue; /* No need to auto-add the badecho sub */ + if(!(scfg.sub[subnum]->misc&SUB_FIDO)) + continue; unsigned area; for(area = 0; area < cfg.areas; area++) if(cfg.area[area].sub == subnum) @@ -6029,7 +6031,7 @@ int main(int argc, char **argv) lprintf(LOG_DEBUG, "Read %u areas from %s", before, cfg.badareafile); if(fp!=NULL) fclose(fp); - lprintf(LOG_DEBUG, "Checking bad areas for areas we now carry - begin"); +// lprintf(LOG_DEBUG, "Checking bad areas for areas we now carry - begin"); strListTruncateStrings(bad_areas, " \t\r\n"); for(i=0; bad_areas[i] != NULL; i++) { if(area_is_valid(find_area(bad_areas[i]))) { /* Do we carry this area? */ @@ -6038,7 +6040,7 @@ int main(int argc, char **argv) i--; } } - lprintf(LOG_DEBUG, "Checking bad areas for areas we now carry - end"); +// lprintf(LOG_DEBUG, "Checking bad areas for areas we now carry - end"); after = strListCount(bad_areas); if(before != after) lprintf(LOG_NOTICE, "Removed %d areas from bad area file: %s", before-after, cfg.badareafile);