C News patch of 7-Sep-1990
Henry Spencer
henry at zoo.toronto.edu
Mon Sep 10 09:05:37 AEST 1990
This cleans up the exceedingly obscure relaying bug in the 1-Sep patch,
and beefs up the relaynews regression test considerably. (It also adds
an item in notebook/problems that just happened to come along last week.)
start of patch 7-Sep-1990
(suggested archive name: `pch7Sep90.Z')
this should be run with patch -p0 <thisfile
The following is a complete list of patches to date.
Prereq: 23-Jun-1989
Prereq: 7-Jul-1989
Prereq: 23-Jul-1989
Prereq: 22-Aug-1989
Prereq: 24-Aug-1989
Prereq: 14-Sep-1989
Prereq: 13-Nov-1989
Prereq: 10-Jan-1990
Prereq: 16-Jan-1990
Prereq: 17-Jan-1990
Prereq: 18-Jan-1990
Prereq: 12-Mar-1990
Prereq: 14-Apr-1990
Prereq: 15-Apr-1990
Prereq: 16-Apr-1990
Prereq: 25-May-1990
Prereq: 1-Sep-1990
*** PATCHDATES.old Fri Sep 7 13:53:29 1990
--- PATCHDATES Fri Sep 7 13:53:29 1990
***************
*** 1,17 ****
--- 1,18 ----
23-Jun-1989
7-Jul-1989
23-Jul-1989
22-Aug-1989
24-Aug-1989
14-Sep-1989
13-Nov-1989
10-Jan-1990
16-Jan-1990
17-Jan-1990
18-Jan-1990
12-Mar-1990
14-Apr-1990
15-Apr-1990
16-Apr-1990
25-May-1990
1-Sep-1990
+ 7-Sep-1990
Changed files, if any:
*** cnpatch/old/libcnews/string.c Wed Sep 5 15:46:32 1990
--- libcnews/string.c Thu Sep 6 19:00:29 1990
***************
*** 272,276 ****
if (nxpathp == NULL)
return NULL; /* path exhausted */
! if (STREQN(pathp, host, hostlen) == 0 &&
(pathp == path || nothostchar(pathp[-1])) &&
nothostchar(pathp[hostlen]))
--- 272,277 ----
if (nxpathp == NULL)
return NULL; /* path exhausted */
! pathp = nxpathp;
! if (STREQN(pathp, host, hostlen) &&
(pathp == path || nothostchar(pathp[-1])) &&
nothostchar(pathp[hostlen]))
*** cnpatch/old/notebook/problems Wed Sep 5 15:46:34 1990
--- notebook/problems Fri Sep 7 13:32:35 1990
***************
*** 520,521 ****
--- 520,537 ----
.DE
This command should output nothing.
+ .SH
+ Values of Logical Operators
+ .PP
+ There seem to
+ be compilers, e.g. the Ultrix one on DEC's new RISC workstations,
+ that go into convulsions when they see something like
+ .DS
+ *p++ = isascii(c) && isalnum(c);
+ .DE
+ because they don't know how to generate a numeric value for `&&'.
+ One or two places in C News use constructs like this.
+ If you run into this, you might
+ want to try replacing the
+ right-hand side
+ with something like ``(...)\ ?\ 1\ :\ 0'' to get the
+ troublesome operator back into a conditional context.
*** cnpatch/old/relay/regress/master/art1 Tue Jun 20 19:00:40 1989
--- relay/regress/master/art1 Thu Sep 6 18:51:13 1990
***************
*** 1,3 ****
! Path: host!user
From: user at host
Message-ID: <#1 at host>
--- 1,3 ----
! Path: host!foo!user
From: user at host
Message-ID: <#1 at host>
***************
*** 4,6 ****
Newsgroups: test.a
! ## This should appear in test/a/1
--- 4,6 ----
Newsgroups: test.a
! ## This should appear in test/a/1 and not be sent to foo
*** cnpatch/old/relay/regress/master/batch Tue Jun 20 19:00:42 1989
--- relay/regress/master/batch Thu Sep 6 19:03:41 1990
***************
*** 1,4 ****
! #! rnews 108
! Path: host!user
From: user at host
Message-ID: <#1 at host>
--- 1,4 ----
! #! rnews 135
! Path: host!foo!user
From: user at host
Message-ID: <#1 at host>
***************
*** 5,9 ****
Newsgroups: test.a
! ## This should appear in test/a/1
#! rnews 108
Path: host!user
--- 5,9 ----
Newsgroups: test.a
! ## This should appear in test/a/1 and not be sent to foo
#! rnews 108
Path: host!user
*** cnpatch/old/relay/regress/master/sys Tue Jun 20 19:00:45 1989
--- relay/regress/master/sys Thu Sep 6 18:50:14 1990
***************
*** 1,2 ****
--- 1,4 ----
ME:all
foo:all:f:/dev/null
+ bar:all:f:/dev/null
+ baz:all:f:/dev/null
*** cnpatch/old/relay/regress/out/art1 Tue Jun 20 19:00:29 1989
--- relay/regress/out/art1 Thu Sep 6 19:03:41 1990
***************
*** 1,3 ****
! Path: host!user
From: user at host
Message-ID: <#1 at host>
--- 1,3 ----
! Path: host!foo!user
From: user at host
Message-ID: <#1 at host>
***************
*** 4,6 ****
Newsgroups: test.a
! ## This should appear in test/a/1
--- 4,6 ----
Newsgroups: test.a
! ## This should appear in test/a/1 and not be sent to foo
*** cnpatch/old/relay/regress/out/batch Tue Jun 20 19:00:31 1989
--- relay/regress/out/batch Thu Sep 6 19:03:42 1990
***************
*** 1,4 ****
! #! rnews 108
! Path: host!user
From: user at host
Message-ID: <#1 at host>
--- 1,4 ----
! #! rnews 135
! Path: host!foo!user
From: user at host
Message-ID: <#1 at host>
***************
*** 5,9 ****
Newsgroups: test.a
! ## This should appear in test/a/1
#! rnews 108
Path: host!user
--- 5,9 ----
Newsgroups: test.a
! ## This should appear in test/a/1 and not be sent to foo
#! rnews 108
Path: host!user
*** cnpatch/old/relay/regress/out/log Tue Jun 20 19:00:33 1989
--- relay/regress/out/log Fri Sep 7 04:01:13 1990
***************
*** 1,5 ****
! TIME host + <#1 at host> foo
! TIME host + <#2 at host> foo
! TIME host + <#3 at host> foo
! TIME host + <#4 at host> foo
! TIME host + <#5 at host> foo
--- 1,5 ----
! TIME host + <#1 at host> bar baz
! TIME host + <#2 at host> foo bar baz
! TIME host + <#3 at host> foo bar baz
! TIME host + <#4 at host> foo bar baz
! TIME host + <#5 at host> foo bar baz
*** cnpatch/old/relay/regress/out/sys Tue Jun 20 19:00:34 1989
--- relay/regress/out/sys Thu Sep 6 18:53:13 1990
***************
*** 1,2 ****
--- 1,4 ----
ME:all
foo:all:f:/dev/null
+ bar:all:f:/dev/null
+ baz:all:f:/dev/null
*** cnpatch/old/relay/regress/out/test/a/1 Tue Jun 20 19:00:36 1989
--- relay/regress/out/test/a/1 Thu Sep 6 19:05:23 1990
***************
*** 1,3 ****
! Path: hostb!host!user
From: user at host
Message-ID: <#1 at host>
--- 1,3 ----
! Path: hostb!host!foo!user
From: user at host
Message-ID: <#1 at host>
***************
*** 4,6 ****
Newsgroups: test.a
! ## This should appear in test/a/1
--- 4,6 ----
Newsgroups: test.a
! ## This should appear in test/a/1 and not be sent to foo
*** cnpatch/old/relay/transmit.c Wed Sep 5 15:46:36 1990
--- relay/transmit.c Thu Sep 6 19:14:47 1990
***************
*** 92,95 ****
--- 92,99 ----
nnfree(&canpath);
canpath = canonpath(art->h.h_path, art->h.h_approved, art->h.h_sender);
+ #ifdef notdef /* DEBUG */
+ fprintf(stderr, "path=%s canonpath=%s\n", art->h.h_path,
+ canpath);
+ #endif
}
path = canpath;
Files that are new:
new relay/regress/master/mkbatch (patch can't create, so diff against null):
Index: relay/regress/master/mkbatch
*** cnpatch/old/relay/regress/master/mkbatch Fri Sep 7 13:58:02 1990
--- relay/regress/master/mkbatch Thu Sep 6 19:03:30 1990
***************
*** 0 ****
--- 1,7 ----
+ #! /bin/sh
+ for art
+ do
+ bytes=`wc -c <$art`
+ echo "#! rnews `echo $bytes`"
+ cat $art
+ done
new relay/regress/out/mkbatch (patch can't create, so diff against null):
Index: relay/regress/out/mkbatch
*** cnpatch/old/relay/regress/out/mkbatch Fri Sep 7 13:58:03 1990
--- relay/regress/out/mkbatch Fri Sep 7 04:00:57 1990
***************
*** 0 ****
--- 1,7 ----
+ #! /bin/sh
+ for art
+ do
+ bytes=`wc -c <$art`
+ echo "#! rnews `echo $bytes`"
+ cat $art
+ done
end of patch 7-Sep-1990
--
TCP/IP: handling tomorrow's loads today| Henry Spencer at U of Toronto Zoology
OSI: handling yesterday's loads someday| henry at zoo.toronto.edu utzoo!henry
More information about the Comp.sources.bugs
mailing list