diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index dc20a334cd513c4ad51201baa4b7495f203fa04f..f1b26382e5430aeaa0ae2d97bfc0c8947f38bcef 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -2785,7 +2785,7 @@ void event_thread(void* arg) sbbs->online=FALSE; } } - close(userfile); + closeuserdat(userfile); lastprepack=(time32_t)now; SAFEPRINTF(str,"%stime.dab",sbbs->cfg.ctrl_dir); if((file=sbbs->nopen(str,O_WRONLY))==-1) { @@ -4824,7 +4824,7 @@ void sbbs_t::daily_maint(void) putuserrec(&cfg,user.number,U_MISC,8,ultoa(user.misc|DELETED,str,16)); } } - close(userfile); + closeuserdat(userfile); lputs(LOG_INFO,"DAILY: Purging deleted/expired e-mail"); SAFEPRINTF(smb.file,"%smail",cfg.data_dir); diff --git a/src/sbbs3/str.cpp b/src/sbbs3/str.cpp index 3200e3f67f01335e57f3609cbc9e46088d1a7f09..6607442ebfc2450f19716e9a4dcb02bfc543bf40 100644 --- a/src/sbbs3/str.cpp +++ b/src/sbbs3/str.cpp @@ -111,7 +111,7 @@ void sbbs_t::userlist(long mode) } j++; } - close(userfile); + closeuserdat(userfile); if(i<=k) { /* aborted */ if(sort) for(i=0;i<j;i++) diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c index 5b035417cdf73a7203f5d8d8aee6db68a5a8fdb3..c1c7837d6ba87ffac284e705922f4446cb11ffe0 100644 --- a/src/sbbs3/userdat.c +++ b/src/sbbs3/userdat.c @@ -207,6 +207,8 @@ int openuserdat(scfg_t* cfg, BOOL for_modify) int closeuserdat(int file) { + if(file < 1) + return -1; return close(file); }