From 04d88fd6b65458792c8bc515d416ebd8f8ef7008 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 14 Mar 2006 09:34:25 +0000
Subject: [PATCH] semfile module moved to xpdev.

---
 src/sbbs3/objects.mk |   1 -
 src/sbbs3/sbbs.dsp   |   4 --
 src/sbbs3/sbbs.h     |  12 +---
 src/sbbs3/semfile.c  | 131 -------------------------------------------
 4 files changed, 1 insertion(+), 147 deletions(-)
 delete mode 100644 src/sbbs3/semfile.c

diff --git a/src/sbbs3/objects.mk b/src/sbbs3/objects.mk
index e465b34176..67222a4c1c 100644
--- a/src/sbbs3/objects.mk
+++ b/src/sbbs3/objects.mk
@@ -86,7 +86,6 @@ OBJS	=	$(MTOBJODIR)$(DIRSEP)ansiterm$(OFILE) \
 			$(MTOBJODIR)$(DIRSEP)scfglib1$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)scfglib2$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)scfgsave$(OFILE)\
-			$(MTOBJODIR)$(DIRSEP)semfile$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)sockopts$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)sortdir$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)str$(OFILE)\
diff --git a/src/sbbs3/sbbs.dsp b/src/sbbs3/sbbs.dsp
index 829bb09388..cfc916a135 100644
--- a/src/sbbs3/sbbs.dsp
+++ b/src/sbbs3/sbbs.dsp
@@ -411,10 +411,6 @@ SOURCE=.\scfgsave.c
 # End Source File
 # Begin Source File
 
-SOURCE=.\semfile.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\sockopts.c
 # End Source File
 # Begin Source File
diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index 9baaca2eba..98dbaf57fc 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -119,6 +119,7 @@
  #define LINK_LIST_THREADSAFE
 #endif
 #include "genwrap.h"
+#include "semfile.h"
 #include "dirwrap.h"
 #include "filewrap.h"
 #include "sockwrap.h"
@@ -884,17 +885,6 @@ extern "C" {
 	DLLEXPORT char*		DLLCALL cmdstr(scfg_t* cfg, user_t* user, const char* instr
 									,const char* fpath, const char* fspec, char* cmd);
 
-	/* semfile.c */
-	DLLEXPORT BOOL		DLLCALL semfile_signal(const char* fname, const char* text);
-	DLLEXPORT BOOL		DLLCALL semfile_check(time_t* t, const char* fname);
-	DLLEXPORT char*		DLLCALL semfile_list_check(time_t* t, str_list_t filelist);
-	DLLEXPORT str_list_t	
-						DLLCALL semfile_list_init(const char* parent, const char* action
-													,const char* service);
-	DLLEXPORT void		DLLCALL semfile_list_add(str_list_t* filelist, const char* fname);
-	DLLEXPORT void		DLLCALL semfile_list_free(str_list_t* filelist);
-
-
 #ifdef JAVASCRIPT
 
 	typedef struct {
diff --git a/src/sbbs3/semfile.c b/src/sbbs3/semfile.c
deleted file mode 100644
index 8f049c9b65..0000000000
--- a/src/sbbs3/semfile.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/* semfile.c */
-
-/* $Id$ */
-
-/****************************************************************************
- * @format.tab-size 4		(Plain Text/Source Code File Header)			*
- * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
- *																			*
- * Copyright 2005 Rob Swindell - http://www.synchro.net/copyright.html		*
- *																			*
- * This program is free software; you can redistribute it and/or			*
- * modify it under the terms of the GNU General Public License				*
- * as published by the Free Software Foundation; either version 2			*
- * of the License, or (at your option) any later version.					*
- * See the GNU General Public License for more details: gpl.txt or			*
- * http://www.fsf.org/copyleft/gpl.html										*
- *																			*
- * Anonymous FTP access to the most recent released source is available at	*
- * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net	*
- *																			*
- * Anonymous CVS access to the development source and modification history	*
- * is available at cvs.synchro.net:/cvsroot/sbbs, example:					*
- * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login			*
- *     (just hit return, no password is necessary)							*
- * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src		*
- *																			*
- * For Synchronet coding style and modification guidelines, see				*
- * http://www.synchro.net/source.html										*
- *																			*
- * You are encouraged to submit any modifications (preferably in Unix diff	*
- * format) via e-mail to mods@synchro.net									*
- *																			*
- * Note: If this box doesn't appear square, then you need to fix your tabs.	*
- ****************************************************************************/
-
-#include "sbbs.h"
-
-/****************************************************************************/
-/* This function compares a single semaphore file's							*/
-/* date/time stamp (if the file exists) against the passed time stamp (t)	*/
-/* updating the time stamp to the latest dated semaphore file and returning	*/
-/* TRUE if any where newer than the initial value.							*/
-/****************************************************************************/
-BOOL DLLCALL semfile_check(time_t* t, const char* fname)
-{
-	time_t	ft;
-
-	if(*t==0)	/* uninitialized */
-		*t=time(NULL);
-
-	if((ft=fdate(fname))==-1 || ft<=*t)
-		return(FALSE);
-
-	*t=ft;
-	return(TRUE);
-}
-
-/****************************************************************************/
-/* This function goes through a list of semaphore files, comparing the file	*/
-/* date/time stamp (if the file exists) against the passed time stamp (t)	*/
-/* updating the time stamp to the latest dated semaphore file and returning	*/
-/* a pointer to the filename if any where newer than the initial timestamp.	*/
-/****************************************************************************/
-char* DLLCALL semfile_list_check(time_t* t, str_list_t filelist)
-{
-	char*	signaled=NULL;
-	size_t		i;
-
-	for(i=0;filelist[i]!=NULL;i++)
-		if(semfile_check(t, filelist[i]))
-			signaled = filelist[i];
-
-	return(signaled);
-}
-
-str_list_t DLLCALL semfile_list_init(const char* parent, 
-							   const char* action, const char* service)
-{
-	char	path[MAX_PATH+1];
-	char	hostname[128];
-	char*	p;
-	str_list_t	list;
-
-	if((list=strListInit())==NULL)
-		return(NULL);
-	SAFEPRINTF2(path,"%s%s",parent,action);
-	strListPush(&list,path);
-	SAFEPRINTF3(path,"%s%s.%s",parent,action,service);
-	strListPush(&list,path);
-	if(gethostname(hostname,sizeof(hostname))==0) {
-		SAFEPRINTF3(path,"%s%s.%s",parent,action,hostname);
-		strListPush(&list,path);
-		SAFEPRINTF4(path,"%s%s.%s.%s",parent,action,hostname,service);
-		strListPush(&list,path);
-		if((p=strchr(hostname,'.'))!=NULL) {
-			*p=0;
-			SAFEPRINTF3(path,"%s%s.%s",parent,action,hostname);
-			strListPush(&list,path);
-			SAFEPRINTF4(path,"%s%s.%s.%s",parent,action,hostname,service);
-			strListPush(&list,path);
-		}
-	}
-
-	return(list);
-}
-
-void DLLCALL semfile_list_add(str_list_t* filelist, const char* path)
-{
-	strListPush(filelist, path);
-}
-
-void DLLCALL semfile_list_free(str_list_t* filelist)
-{
-	strListFree(filelist);
-}
-
-BOOL DLLCALL semfile_signal(const char* fname, const char* text)
-{
-	int file;
-	char hostname[128];
-
-	if((file=nopen(fname,O_CREAT|O_WRONLY))<0)
-		return(FALSE);
-	if(text==NULL && gethostname(hostname,sizeof(hostname))==0)
-		text=hostname;
-	if(text!=NULL)
-		write(file,text,strlen(text));
-	/* use utime() for force the time-stamp to that of the local system? */
-	close(file);
-	return(TRUE);
-}
-- 
GitLab