Thread View: news.software.b
3 messages
3 total messages
Started by Greyham Stoney
Mon, 13 Aug 1990 02:41
How do I tell expire to never expire a single group under Cnews?.
Author: Greyham Stoney
Date: Mon, 13 Aug 1990 02:41
Date: Mon, 13 Aug 1990 02:41
43 lines
1961 bytes
1961 bytes
I think I've managed to set up my explist file correctly; but there is one thing that doesn't seem too clear from the manual page for expire: How do I tell expire to never expire a single group under Cnews?. We have one group that I never want anything expired from; I figured that by setting the three expire date fields to something huge, it won't ever get around to expiring articles - is this correct?. At the moment my explist file looks like this: -------------------------------------------------------------------------- # modified version, no archiving # # hold onto history lines 14 days, nobody gets >90 days /expired/ x 14 - /bounds/ x 0-1-90 - # override later defaults for some groups of note all.sources,all.sources.all x 10 - aus.all x 10 - comp.os.minix x 10 - comp.unix.i386 x 10 - # don't ever expire local.permanent local.permanent x 10000-10000-10000 - # big non-tech groups held long enough for a long weekend sci,rec,talk,soc,misc,alt u 4 - # real noise gets thrown away fast news.groups x 2 - junk x 1 - # default: 7 days don't archive all x 7 - -------------------------------------------------------------------------- local.permanent is the group in question; will this work ok?. thanks, Greyham. -- /* Greyham Stoney: Australia: (02) 428 6476 * greyham@hades.ausonics.oz.au - Ausonics Pty Ltd, Lane Cove, Sydney, Oz. * Neurone Server: Brain Cell not Responding. */
Re: How do I tell expire to never expire a single group under Cnews?.
Author: Henry Spencer
Date: Mon, 13 Aug 1990 17:48
Date: Mon, 13 Aug 1990 17:48
14 lines
1172 bytes
1172 bytes
In article <1990Aug13.024146.1575@hades.ausonics.oz.au> greyham@hades.ausonics.oz.au (Greyham Stoney) writes: >I think I've managed to set up my explist file correctly; but there is one >thing that doesn't seem too clear from the manual page for expire: >How do I tell expire to never expire a single group under Cnews?... At the moment, giving it a big number is all you can do. Provision for some more explicit way of saying "never" is on the to-be-done list. When choosing big numbers, beware of integer overflow; 32 bits is none too large for this application. "10000" (slightly under 30 years) is safe for the next decade or two. -- It is not possible to both understand | Henry Spencer at U of Toronto Zoology and appreciate Intel CPUs. -D.Wolfskill| henry@zoo.toronto.edu utzoo!henry
Re: How do I tell expire to never expire a single group under Cnews?.
Author: Eric Murray
Date: Thu, 12 Apr 2018 12:27
Date: Thu, 12 Apr 2018 12:27
169 lines
5041 bytes
5041 bytes
In article <1990Aug13.024146.1575@hades.ausonics.oz.au> greyham@hades.ausonics.oz.au (Greyham Stoney) writes:
>I think I've managed to set up my explist file correctly; but there is one
>thing that doesn't seem too clear from the manual page for expire:
>How do I tell expire to never expire a single group under Cnews?.
You hack it to understand 'never' in the explist file.
% diff -c expire.c expire.c.old
*** expire.c Thu Jun 7 11:38:56 1990
--- expire.c.old Thu Jun 7 10:16:32 1990
***************
*** 123,132 ****
void euclose();
char *whereexpire();
time_t back();
-
- /* ericm hack */
- time_t backtime();
-
void checkdir();
void fail();
void control();
--- 123,128 ----
***************
*** 259,315 ****
char line[200]; /* long enough for any sane line */
register char *p;
void ctlline();
- char *buf;
- int got_cont = 0;
- /* ericm hacks.... modified to accept lines ending in '\\n' (the \n is
- * invisible of course) as a line continuation deal.
- */
- buf = (char *)0;
while (fgets(line, sizeof(line), f) != NULL) {
p = &line[strlen(line) - 1];
if (*p != '\n')
fail("control line `%.30s...' too long", line);
-
*p = '\0';
! if (line[0] == '#' || line[0] == '\0')
! continue;
!
! if (*(p-1) == 0134 )
! got_cont = 1;
!
! if (got_cont) {
! /* line continuation */
! char *tmp = buf;
!
! if (*(p-1) != 0134 )
! got_cont = 0;
! else
! *(p-1) = '\0'; /* erase the '\' */
!
! if ((buf = (char *)malloc(strlen(tmp) + strlen(line) + 1)) == NULL){
! fail("out of memory for control line", "");
! }
! strcpy(buf,tmp);
! strcat(buf,line);
! }
! if (!got_cont) {
! if (!buf) {
! if (line[0] != '#' && line[0] != '\0') {
! /* printf("line = ` %s '\n",line); */
! ctlline(line);
! }
! }
! else {
! if (buf[0] != '#' && buf[0] != '\0') {
! /* printf("buf = ` %s '\n",buf); */
! ctlline(buf);
! }
! free(buf);
! buf = (char *)0;
! }
! }
! bzero(line,sizeof(line));
}
}
--- 255,268 ----
char line[200]; /* long enough for any sane line */
register char *p;
void ctlline();
while (fgets(line, sizeof(line), f) != NULL) {
p = &line[strlen(line) - 1];
if (*p != '\n')
fail("control line `%.30s...' too long", line);
*p = '\0';
! if (line[0] != '#' && line[0] != '\0')
! ctlline(line);
}
}
***************
*** 353,375 ****
(void) strcpy(datebuf, field[2]);
ndates = split(datebuf, dates, 3, "-");
switch (ndates) {
- /* i've replaced ' back(atof(dates[0])) ' with backtime()
- * backtime checks for an 'n' in the date field... to
- * allow a 'never-never-never' expiry specifyer
- */
case 3:
! ct->retain = backtime(dates[0]);
! ct->normal = backtime(dates[1]);
! ct->purge = backtime(dates[2]);
break;
case 2:
ct->retain = (bounds != NULL) ? bounds->retain : back(0.0);
! ct->normal = backtime(dates[0]);
! ct->purge = backtime(dates[1]);
break;
case 1:
ct->retain = (bounds != NULL) ? bounds->retain : back(0.0);
! ct->normal = backtime(dates[0]);
ct->purge = (bounds != NULL) ? bounds->purge : EPOCH;
break;
default:
--- 306,324 ----
(void) strcpy(datebuf, field[2]);
ndates = split(datebuf, dates, 3, "-");
switch (ndates) {
case 3:
! ct->retain = back(atof(dates[0]));
! ct->normal = back(atof(dates[1]));
! ct->purge = back(atof(dates[2]));
break;
case 2:
ct->retain = (bounds != NULL) ? bounds->retain : back(0.0);
! ct->normal = back(atof(dates[0]));
! ct->purge = back(atof(dates[1]));
break;
case 1:
ct->retain = (bounds != NULL) ? bounds->retain : back(0.0);
! ct->normal = back(atof(dates[0]));
ct->purge = (bounds != NULL) ? bounds->purge : EPOCH;
break;
default:
***************
*** 1345,1359 ****
*rp = '\0';
return(result);
- }
-
- /* ericm hacks */
- time_t backtime(time)
- char *time;
- {
-
- if (*time == 'n')
- return(EPOCH); /* 'never' */
-
- return(back(atof(time)));
}
--- 1294,1297 ----
I also changed things a bit to allow a '\' as a line continuation
so I could use my old Bnews expire script. This diff is from the 25-May-1990
version.
eric murray ibmsupt!ericm@uunet.uu.net uunet!ibmsupt!ericm
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads