From 15ef937aff1848aedba9ddcc7fc69127d276629c Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 6 Jun 2003 22:09:21 +0000
Subject: [PATCH] Using new ftouch() function for signaling/creating semaphore
 files.

---
 src/sbbs3/fido.cpp    | 12 +++---------
 src/sbbs3/ftpsrvr.c   |  4 +---
 src/sbbs3/netmail.cpp |  4 +---
 src/sbbs3/postmsg.cpp |  9 ++-------
 src/sbbs3/un_rep.cpp  |  3 +--
 src/sbbs3/upload.cpp  |  4 +---
 6 files changed, 9 insertions(+), 27 deletions(-)

diff --git a/src/sbbs3/fido.cpp b/src/sbbs3/fido.cpp
index 91c051bfe9..293dfd4d67 100644
--- a/src/sbbs3/fido.cpp
+++ b/src/sbbs3/fido.cpp
@@ -394,9 +394,7 @@ bool sbbs_t::netmail(char *into, char *title, long mode)
 		cc_sent++; }
 
 	if(cfg.netmail_sem[0])		/* update semaphore file */
-		if((file=nopen(cmdstr(cfg.netmail_sem,nulstr,nulstr,NULL)
-				,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-			close(file);
+		ftouch(cmdstr(cfg.netmail_sem,nulstr,nulstr,NULL));
 
 	FREE(buf);
 	return(true);
@@ -705,9 +703,7 @@ void sbbs_t::qwktonetmail(FILE *rep, char *block, char *into, uchar fromhub)
 		else {		/* Successful */
 			if(inet) {
 				if(cfg.inetmail_sem[0]) 	 /* update semaphore file */
-					if((fido=nopen(cmdstr(cfg.inetmail_sem,nulstr,nulstr,NULL)
-						,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-						close(fido);
+					ftouch(cmdstr(cfg.inetmail_sem,nulstr,nulstr,NULL));
 				if(!(useron.exempt&FLAG('S')))
 					subtract_cdt(&cfg,&useron,cfg.inetmail_cost); }
 
@@ -864,9 +860,7 @@ void sbbs_t::qwktonetmail(FILE *rep, char *block, char *into, uchar fromhub)
 	close(fido);
 	FREE((char *)qwkbuf);
 	if(cfg.netmail_sem[0])		/* update semaphore file */
-		if((fido=nopen(cmdstr(cfg.netmail_sem,nulstr,nulstr,NULL)
-			,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-			close(fido);
+		ftouch(cmdstr(cfg.netmail_sem,nulstr,nulstr,NULL));
 	if(!(useron.exempt&FLAG('S')))
 		subtract_cdt(&cfg,&useron,cfg.netmail_cost);
 
diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index ce9f64b460..48fbdf000b 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -1821,9 +1821,7 @@ static void receive_thread(void* arg)
 				putextdesc(&scfg,f.dir,f.datoffset,ext);
 
 			if(scfg.dir[f.dir]->upload_sem[0])
-				if((file=sopen(scfg.dir[f.dir]->upload_sem,O_WRONLY|O_CREAT|O_TRUNC
-					,SH_DENYNO,S_IREAD|S_IWRITE))!=-1)
-					close(file);
+				ftouch(scfg.dir[f.dir]->upload_sem);
 			/**************************/
 			/* Update Uploader's Info */
 			/**************************/
diff --git a/src/sbbs3/netmail.cpp b/src/sbbs3/netmail.cpp
index 7508ace94c..433232032a 100644
--- a/src/sbbs3/netmail.cpp
+++ b/src/sbbs3/netmail.cpp
@@ -265,9 +265,7 @@ bool sbbs_t::inetmail(char *into, char *subj, long mode)
 		autohangup();
 
 	if(cfg.inetmail_sem[0]) 	 /* update semaphore file */
-		if((file=nopen(cmdstr(cfg.inetmail_sem,nulstr,nulstr,NULL)
-			,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-			close(file);
+		ftouch(cmdstr(cfg.inetmail_sem,nulstr,nulstr,NULL));
 	if(!(useron.exempt&FLAG('S')))
 		subtract_cdt(&cfg,&useron,cfg.inetmail_cost);
 
diff --git a/src/sbbs3/postmsg.cpp b/src/sbbs3/postmsg.cpp
index c711ebd67c..8088d3f4a3 100644
--- a/src/sbbs3/postmsg.cpp
+++ b/src/sbbs3/postmsg.cpp
@@ -398,20 +398,15 @@ bool sbbs_t::postmsg(uint subnum, smbmsg_t *remsg, long wm_mode)
 extern "C" void DLLCALL signal_sub_sem(scfg_t* cfg, uint subnum)
 {
 	char str[MAX_PATH+1];
-	int file;
 
 	if(subnum==INVALID_SUB || subnum>=cfg->total_subs)	/* e-mail? */
 		return;
 
 	/* signal semaphore files */
 	if(cfg->sub[subnum]->misc&SUB_FIDO && cfg->echomail_sem[0])		
-		if((file=nopen(cmdstr(cfg,NULL,cfg->echomail_sem,nulstr,nulstr,str)
-			,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-			close(file);
+		ftouch(cmdstr(cfg,NULL,cfg->echomail_sem,nulstr,nulstr,str));
 	if(cfg->sub[subnum]->post_sem[0]) 
-		if((file=nopen(cmdstr(cfg,NULL,cfg->sub[subnum]->post_sem,nulstr,nulstr,str)
-			,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-			close(file);
+		ftouch(cmdstr(cfg,NULL,cfg->sub[subnum]->post_sem,nulstr,nulstr,str));
 }
 
 extern "C" int DLLCALL savemsg(scfg_t* cfg, smb_t* smb, smbmsg_t* msg, char* msgbuf)
diff --git a/src/sbbs3/un_rep.cpp b/src/sbbs3/un_rep.cpp
index 2bcbc8ff30..eb5ba0d734 100644
--- a/src/sbbs3/un_rep.cpp
+++ b/src/sbbs3/un_rep.cpp
@@ -438,8 +438,7 @@ bool sbbs_t::unpack_rep(char* repfile)
 		if(dir!=NULL)
 			closedir(dir);
 		sprintf(str,"%sqnet-rep.now",cfg.data_dir);
-		if((file=nopen(str,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-			close(file);
+		ftouch(str);
 	}
 
 	bputs(text[QWKUnpacked]);
diff --git a/src/sbbs3/upload.cpp b/src/sbbs3/upload.cpp
index 58ea80dac8..9bada02bad 100644
--- a/src/sbbs3/upload.cpp
+++ b/src/sbbs3/upload.cpp
@@ -195,9 +195,7 @@ bool sbbs_t::uploadfile(file_t *f)
 		,f->name,cfg.lib[cfg.dir[f->dir]->lib]->sname
 		,cfg.dir[f->dir]->sname);
 	if(cfg.dir[f->dir]->upload_sem[0])
-		if((file=nopen(cmdstr(cfg.dir[f->dir]->upload_sem,nulstr,nulstr,NULL)
-			,O_WRONLY|O_CREAT|O_TRUNC))!=-1)
-			close(file);
+		ftouch(cmdstr(cfg.dir[f->dir]->upload_sem,nulstr,nulstr,NULL));
 	logline("U+",str);
 	/**************************/
 	/* Update Uploader's Info */
-- 
GitLab