diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index 8f26b4388f5c31a2eb79e21719c7b9b2c35c5f4a..bff4b8a20a8c823310a8bc07911082e1bf0cceb7 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -1837,7 +1837,7 @@ bool add_sub_to_areafile(sub_t* sub, fidoaddr_t uplink) if(added++ == 0) backup(cfg.areafile, cfg.areafile_backups, /* ren: */FALSE); - fp = fopen(cfg.areafile, "r+"); + fp = fopen(cfg.areafile, fexist(cfg.areafile) ? "r+" : "w+"); if(fp == NULL) { lprintf(LOG_ERR, "Error %d opening %s", errno, cfg.areafile); return false;