⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expire.pch

📁 早期freebsd实现
💻 PCH
字号:
$Revision: 1.7 $Matthias Urlichs, <urlichs@smurf.sub.org>.July 8This patch to C News expire.c (6Jul91 patchdate) teaches expire tointeract with innd.  You will also need to add "lib/inndcomm.o" toyour libcnews.a****WARNING****    If you install this patch, make sure that your doexpire script does    NOT call updatemin or upact!*** expire.c.orig	Tue Jul  9 15:57:21 1991--- expire.c	Wed Jul 10 16:26:26 1991****************** 6,11 ****--- 6,16 ----   * is arbitrarily hard when control files get complex, to hell with it.   */  + /*+  * Extended by Matthias Urlichs (urlichs@smurf.sub.org) to talk to innd.+  */+ #define INND+   #include <stdio.h>  #include <ctype.h>  #include <string.h>****************** 240,246 ****--- 245,256 ----    	(void) umask(newsumask());  	doit();			/* side effect: newslock() */+ #ifdef INND+ 	if(nlocked && ICCgo("expiring") < 0)+ 		fail("ctlinnd go failed", "");+ #else  	newsunlock();+ #endif    	if (latest > time((time_t *)NULL)) {  		complain("some article arrival dates are in the future!", "");****************** 471,476 ****--- 481,490 ----  		if (dbzagain("history.n", "history") < 0)  			fail("dbzagain(history.n) failed", "");  	}+ #ifdef INND+ 	if (ICCopen() < 0)+ 		fail("ICCopen() failed", "");+ #endif    	cd(artfile((char *)NULL));  	while ((line = readline(old)) != NULL) {****************** 713,718 ****--- 733,746 ----  							p = strchr(p+1, '.'))  				*p = '/';  			expire(name, dir);+ #ifdef INND+ 			if(!nlocked && nleft == 0 && srcc == '\0') {+ 				if(expdebug)+ 					fprintf(stderr,"Cancelling %s '%s'\n",+ 						name,msgid);+ 				ICCcancel(msgid);+ 			}+ #endif  			if (dir != NULL && printexpiring)  				printstuff(msgid, name, recdate);  			nexpired++;****************** 729,735 ****  	if (nleft == 0)  		return(NULL);  	*dst++ = '\0';! 	if (leaders && nleft == 1 && nexpired > 0)	/* aging leader */  		return(doarticle(oldnames, recdate, expdate, msgid));  	return(oldnames);  }--- 757,767 ----  	if (nleft == 0)  		return(NULL);  	*dst++ = '\0';! 	if (! #ifndef INND! 	leaders &&! #endif! 	    nleft == 1 && nexpired > 0)	/* aging leader */  		return(doarticle(oldnames, recdate, expdate, msgid));  	return(oldnames);  }****************** 1174,1181 ****--- 1206,1218 ----  		(void) unlink("history.n.dir");  		(void) unlink("history.n.pag");  	}+ #ifdef INND+ 	(void) ICCclose();+ #endif  	errno = saveerr;+ #ifndef INND  	errunlock(s1, s2);+ #endif  	/* NOTREACHED */  }  ****************** 1265,1270 ****--- 1302,1311 ----  	/* EOF. */  	if (nlocked)  		return;		/* We're really done. */+ #ifdef INND+ 	if (!rebuild)		/* save the rest for next time */+ 		return;+ #endif    	/* EOF but we haven't locked yet.  Lock and try again. */  	(void) signal(SIGINT, SIG_IGN);****************** 1271,1277 ****--- 1312,1323 ----  	(void) signal(SIGQUIT, SIG_IGN);  	(void) signal(SIGHUP, SIG_IGN);  	(void) signal(SIGTERM, SIG_IGN);+ #ifdef INND+ 	if (ICCpause("expiring") < 0)+ 		fail("ctlinnd pause failed!", "");+ #else  	newslock();+ #endif  	nlocked = 1;  	refill(fd);  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -