[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nmh-commits] [SCM] The nmh Mail Handling System branch, master, updated
From: |
David Levine |
Subject: |
[Nmh-commits] [SCM] The nmh Mail Handling System branch, master, updated. 15236ba2641efd8ce80eae3b67912139395fe24d |
Date: |
Thu, 01 Mar 2012 18:33:30 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The nmh Mail Handling System".
The branch, master has been updated
via 15236ba2641efd8ce80eae3b67912139395fe24d (commit)
via 9471d78ead2fb67001509f9a7834dca03a0e72a0 (commit)
via e3c35feb7ebb4fc0c154017bdedcb60a34437d31 (commit)
via 73f1ba9ecc732c6eca2db82b40f6353b305a58d7 (commit)
from ab719ef6625da100f92aa8c2d6f8ae6ea7bae2cb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/nmh.git/commit/?id=15236ba2641efd8ce80eae3b67912139395fe24d
commit 15236ba2641efd8ce80eae3b67912139395fe24d
Author: David Levine <address@hidden>
Date: Thu Mar 1 12:33:19 2012 -0600
Added documentation of -snoop.
diff --git a/man/send.man b/man/send.man
index 87a74eb..a25c63b 100644
--- a/man/send.man
+++ b/man/send.man
@@ -38,6 +38,7 @@ send \- send a message
.IR ssf ]
.RB [ \-saslmech
.IR mechanism ]
+.RB [ \-snoop ]
.RB [ \-user
.IR username ]
.RB [ \-tls ]
@@ -330,10 +331,13 @@ If nmh is using the SMTP MTA, the
and the
.B \-port
switches can be used to override the default mail server (defined by the
-.RI servers
-entry in
.I %etcdir%/mts.conf
-).
+.RI servers
+entry). The
+.B \-snoop
+switch can be used to view the SMTP transaction. (Beware that the
+SMTP transaction may contain authentication information either in
+plaintext or easily decoded base64.)
.PP
If
.B nmh
diff --git a/man/whom.man b/man/whom.man
index c054dcf..fc386bb 100644
--- a/man/whom.man
+++ b/man/whom.man
@@ -17,6 +17,7 @@ whom \- report to whom a message would go
.RB [ \-draftmessage
.IR msg ]
.RB [ \-nodraftfolder ]
+.RB [ \-snoop ]
.RI [ file ]
.RB [ \-version ]
.RB [ \-help ]
@@ -43,6 +44,12 @@ useful) feature. Consult the
.BR mh-draft (5)
man page for more information.
.PP
+The
+.B \-snoop
+switch can be used to view the SMTP transaction. (Beware that the
+SMTP transaction may contain authentication information either in
+plaintext or easily decoded base64.)
+.PP
The files specified by the profile entry \*(lqAliasfile:\*(rq and any
additional alias files given by the
.B \-alias
http://git.savannah.gnu.org/cgit/nmh.git/commit/?id=9471d78ead2fb67001509f9a7834dca03a0e72a0
commit 9471d78ead2fb67001509f9a7834dca03a0e72a0
Author: David Levine <address@hidden>
Date: Thu Mar 1 12:32:23 2012 -0600
Removed RCS sparc object file.
diff --git a/docs/historical/mh-6.8.5/uip/RCS/whatnowsbr.o,v
b/docs/historical/mh-6.8.5/uip/RCS/whatnowsbr.o,v
deleted file mode 100644
index 77eb2f1..0000000
Binary files a/docs/historical/mh-6.8.5/uip/RCS/whatnowsbr.o,v and /dev/null
differ
http://git.savannah.gnu.org/cgit/nmh.git/commit/?id=e3c35feb7ebb4fc0c154017bdedcb60a34437d31
commit e3c35feb7ebb4fc0c154017bdedcb60a34437d31
Author: David Levine <address@hidden>
Date: Thu Mar 1 12:29:33 2012 -0600
Under docs/historical/mh-6.8.5, mh.rf and mh.me were renamed to
mh-intro.rf and mh-intro.me, respectively, to avoid name clashes with
other files on case-insensitive file systems.
diff --git a/docs/historical/README b/docs/historical/README
index afd7a5a..6828e31 100644
--- a/docs/historical/README
+++ b/docs/historical/README
@@ -17,6 +17,9 @@ http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA257836
mh-6.8.5/ contains the entire MH 6.8.5, include source code and
RCS files, and was downloaded from
http://iweb.dl.sourceforge.net/project/rand-mh/MH/6.8.5/mh-6.8.5.tgz
+Some obviously unnecessary files were removed. mh.rf and mh.me
+were renamed to mh-intro.rf and mh-intro.me, respectively, to avoid
+name clashes with other files on case-insensitive file systems.
MH source code, versions 6.3 through 6.8.5, is archived under
http://sourceforge.net/projects/rand-mh/files/
diff --git a/docs/historical/mh-6.8.5/conf/doc/RCS/mh.rf,v
b/docs/historical/mh-6.8.5/conf/doc/RCS/mh-intro.rf,v
similarity index 100%
rename from docs/historical/mh-6.8.5/conf/doc/RCS/mh.rf,v
rename to docs/historical/mh-6.8.5/conf/doc/RCS/mh-intro.rf,v
diff --git a/docs/historical/mh-6.8.5/conf/doc/mh.rf
b/docs/historical/mh-6.8.5/conf/doc/mh-intro.rf
similarity index 100%
rename from docs/historical/mh-6.8.5/conf/doc/mh.rf
rename to docs/historical/mh-6.8.5/conf/doc/mh-intro.rf
diff --git a/docs/historical/mh-6.8.5/doc/mh.me
b/docs/historical/mh-6.8.5/doc/mh-intro.me
similarity index 100%
rename from docs/historical/mh-6.8.5/doc/mh.me
rename to docs/historical/mh-6.8.5/doc/mh-intro.me
http://git.savannah.gnu.org/cgit/nmh.git/commit/?id=73f1ba9ecc732c6eca2db82b40f6353b305a58d7
commit 73f1ba9ecc732c6eca2db82b40f6353b305a58d7
Author: David Levine <address@hidden>
Date: Thu Mar 1 12:13:14 2012 -0600
Removed entire docs/historical/mh-6.8.5/local/ tree. It had a pair of
files, Distfile and distfile, with clashing case-insensitive names.
The rest of it was specific to UCI and LBL.
diff --git a/docs/historical/mh-6.8.5/local/Distfile
b/docs/historical/mh-6.8.5/local/Distfile
deleted file mode 100644
index 596535a..0000000
--- a/docs/historical/mh-6.8.5/local/Distfile
+++ /dev/null
@@ -1,88 +0,0 @@
-test: /usr/src/bs/mh-6.6 -> ics
- install -v /usr/src/bs/mh-6.6 ;
- except_pat \\.o\$ ;
- except_pat \\.a\$ ;
- except_pat \\.orig\$ ;
- except_pat \\.rej\$ ;
- except_pat /bk_[^/]*\$ ;
- except_pat /RCS\$ ;
- except_pat /miscellany\$ ;
- except_pat \\~\$ ;
- except_pat papers/[^M].*\$ ;
- except_pat /x[^/]*\$ ;
- except_pat /doc/[^.]*.me\$ ;
- except_pat /doc/z[^.]*.man\$ ;
- except_pat /uip/z ;
-dist: /usr/src/bs/mh-6.6 -> glacier
- install -v /usr/src/bs/mh-6.6-dist ;
- except_pat /RCS\$ ;
- except_pat \\.out\$ ;
- except_pat /rdist[^/]*\$ ;
- except_pat /[Dd]istfile.*\$ ;
- except_pat /papers/.*\\.aux\$ ;
- except_pat /papers/.*\\.log\$ ;
- except_pat /local\$ ;
- except_pat /tags\$ ;
- except_pat /version\$ ;
- except_pat /amstex.tex\$ ;
- except_pat /article.tex\$ ;
- except_pat /dcustom.tex\$ ;
- except_pat /diss.sty\$ ;
- except_pat /sfwmac.tex\$ ;
- except_pat /trademark.tex\$ ;
-/usr/src/bs/mh-6.6 -> glacier
- install -y /usr/src/bs/mh-6.6 ;
- except_pat \\.o\$ ;
- except_pat \\.a\$ ;
- except_pat \\.orig\$ ;
- except_pat \\.rej\$ ;
- except_pat /RCS\$ ;
- except_pat /miscellany\$ ;
- except_pat \\~\$ ;
- except_pat papers/[^M].*\$ ;
- except_pat /x[^/]*\$ ;
- except_pat /doc/[^.]*.me\$ ;
- except_pat /doc/z[^.]*.man\$ ;
- except_pat /uip/z ;
-rome: /usr/src/bs/mh-6.6 -> rome
- install -y /usr/src/bs/mh-6.6 ;
- except_pat \\.o\$ ;
- except_pat \\.a\$ ;
- except_pat \\.orig\$ ;
- except_pat \\.rej\$ ;
- except_pat /RCS\$ ;
- except_pat /miscellany\$ ;
- except_pat \\~\$ ;
- except_pat papers/[^M].*\$ ;
- except_pat /x[^/]*\$ ;
- except_pat /doc/[^.]*.me\$ ;
- except_pat /doc/z[^.]*.man\$ ;
- except_pat /uip/z ;
-ics: /usr/src/bs/mh-6.6 -> ics
- install -y /usr/src/bs/mh-6.6 ;
- except_pat \\.o\$ ;
- except_pat \\.a\$ ;
- except_pat \\.orig\$ ;
- except_pat \\.rej\$ ;
- except_pat /bk_[^/]*\$ ;
- except_pat /RCS\$ ;
- except_pat /miscellany\$ ;
- except_pat \\~\$ ;
- except_pat papers/[^M].*\$ ;
- except_pat /x[^/]*\$ ;
- except_pat /doc/[^.]*.me\$ ;
- except_pat /doc/z[^.]*.man\$ ;
- except_pat /uip/z ;
-#/usr/src/bs/mh-6.6 -> paris
-# install -y /usr/src/bs/mh-6.6 ;
-# except_pat \\.o\$ ;
-# except_pat \\.a\$ ;
-# except_pat \\.orig\$ ;
-# except_pat \\.rej\$ ;
-# except_pat /RCS\$ ;
-# except_pat /miscellany\$ ;
-# except_pat \\~\$ ;
-# except_pat /x[^/]*\$ ;
-# except_pat /doc/[^.]*.me\$ ;
-# except_pat /doc/z[^.]*.man\$ ;
-# except_pat /uip/z ;
diff --git a/docs/historical/mh-6.8.5/local/Distfile.nbbc
b/docs/historical/mh-6.8.5/local/Distfile.nbbc
deleted file mode 100644
index 757b87b..0000000
--- a/docs/historical/mh-6.8.5/local/Distfile.nbbc
+++ /dev/null
@@ -1,16 +0,0 @@
-FILES = ( /usr/local/nbbc /usr/local/nmsh /usr/local/lib/mh/mtstailor )
-
-SUN4 = ( blanche.ics.uci.edu crimee.ics.uci.edu siam.ics.uci.edu
- zola.ics.uci.edu paris.ics.uci.edu glacier.ics.uci.edu )
-
-SUN3_40 = ( elysees.ics.uci.edu beaver.ics.uci.edu
cad.ics.uci.edu
- wagram.ics.uci.edu london.ics.uci.edu beanie.ics.uci.edu
- cecil.ics.uci.edu harlie.ics.uci.edu commerce.ics.uci.edu
- madeleine.ics.uci.edu cadet.ics.uci.edu pompe.ics.uci.edu
- europe.ics.uci.edu rome.ics.uci.edu )
-
-sun4: ${FILES} -> ( ${SUN4} )
- install ;
-
-sun3-40: ${FILES} -> ( ${SUN3_40} )
- install ;
diff --git a/docs/historical/mh-6.8.5/local/distfile
b/docs/historical/mh-6.8.5/local/distfile
deleted file mode 100644
index 8a4e7f1..0000000
--- a/docs/historical/mh-6.8.5/local/distfile
+++ /dev/null
@@ -1,34 +0,0 @@
-FILES=( ali anno fanno bbc bbl burst comp dist folder folders forw
- inc mark mhmail mhpath msgchk msh packf pick prompter
- refile repl rmf rmm scan send show next prev sortm
- vmh whatnow whom )
-
-SUN3_3_0_SYSTEMS_NORMAL=( rome pompe madeleine elysees commerce cad )
-SUN3_3_0_SYSTEMS_LOCAL=( etoile )
-
-SUN3_4_0_SYSTEMS=( london harlie europe cecil cadet beaver beanie )
-
-SUN4_4_0_SYSTEMS=( crimee siam zola paris glacier )
-
-IS_SYSTEMS=( cip1 cip2 cip3 cip4 )
-
-${FILES} -> ${IS_SYSTEMS}
- install /usr/uci ;
-
-${FILES} -> ${SUN3_3_0_SYSTEMS_NORMAL}
- install /usr/uci ;
-
-${FILES} -> ${SUN3_3_0_SYSTEMS_LOCAL}
- install /usr/local ;
-
-${FILES} -> ${SUN3_4_0_SYSTEMS}
- install /usr/local ;
-
-/usr/local/lib/libmh.so.66.1 -> ${SUN3_4_0_SYSTEMS}
- install /usr/local/lib/libmh.so.66.1;
-
-${FILES} -> ${SUN4_4_0_SYSTEMS}
- install /usr/local ;
-
-/usr/local/lib/libmh.so.66.1 -> ${SUN4_4_0_SYSTEMS}
- install /usr/local/lib/libmh.so.66.1;
diff --git a/docs/historical/mh-6.8.5/local/distfile_lib
b/docs/historical/mh-6.8.5/local/distfile_lib
deleted file mode 100644
index e299243..0000000
--- a/docs/historical/mh-6.8.5/local/distfile_lib
+++ /dev/null
@@ -1,28 +0,0 @@
-FILES = (tmac.h spost rcvtty rcvstore rcvpack rcvdist post mhl install-mh
- dp conflict ap popwrd popaka mtstailor scan.timely scan.mailx
- mhl.body mhl.forward mhl.format mhl.digest replcomps rcvdistcomps
- forwcomps distcomps digestcomps components scan.size scan.time)
-
-SUN3_3_0_SYSTEMS_NORMAL=( rome pompe madeleine elysees commerce cad )
-SUN3_3_0_SYSTEMS_LOCAL=( etoile )
-
-SUN3_4_0_SYSTEMS_NORMAL=( london harlie europe cecil cadet beaver beanie )
-
-SUN4_4_0_SYSTEMS=( crimee siam zola paris glacier )
-
-IS_SYSTEMS=( cip1 cip2 cip3 cip4 )
-
-${FILES} -> ${IS_SYSTEMS}
- install /usr/uci/lib/mh ;
-
-${FILES} -> ${SUN3_3_0_SYSTEMS_NORMAL}
- install /usr/uci/lib/mh ;
-
-${FILES} -> ${SUN3_3_0_SYSTEMS_LOCAL}
- install /usr/local/lib/mh ;
-
-${FILES} -> ${SUN3_4_0_SYSTEMS_NORMAL}
- install /usr/local/lib/mh ;
-
-${FILES} -> ${SUN4_4_0_SYSTEMS}
- install /usr/local/lib/mh ;
diff --git a/docs/historical/mh-6.8.5/local/lbl/diffs
b/docs/historical/mh-6.8.5/local/lbl/diffs
deleted file mode 100644
index 414fb54..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/diffs
+++ /dev/null
@@ -1,1190 +0,0 @@
-diff -r -w lbl/sbr/formatsbr.c ./sbr/formatsbr.c
-1a2,4
-> #ifndef lint
-> static char ident[] = "@(#)$Id: formatsbr.c,v 1.16 1992/02/09 07:11:55
jromine Exp $";
-> #endif lint
-12a16,18
-> /* */
->
->
-17a24
-> #ifdef LBL
-18a26
-> #endif
-20c28,30
-< int fmt_norm = AD_NAME;
----
-> static normalize();
->
-> extern int fmt_norm; /* defined in sbr/formatdef.c = AD_NAME */
-24,28c34
-< static
-< normalize(cp)
-< register char *cp;
-< {
-< register char *dp;
----
-> long time ();
-30,34c36
-< for (dp = cp; *cp; cp++)
-< if (*cp != QUOTE)
-< *dp++ = *cp;
-< else
-< switch (*++cp) {
----
-> /* */
-36,50c38
-< case 'b':
-< *dp++ = '\b';
-< break;
-< case 'f':
-< *dp++ = '\f';
-< break;
-< case 'n':
-< *dp++ = '\n';
-< break;
-< case 'r':
-< *dp++ = '\r';
-< break;
-< case 't':
-< *dp++ = '\t';
-< break;
----
-> /* MAJOR HACK: See MHCHANGES for discussion */
-52,68c40,43
-< case '\n':
-< break;
-<
-< case NULL:
-< cp--;
-< /* fall through */
-< default:
-< *dp++ = *cp;
-< break;
-< }
-<
-< *dp = NULL;
-< }
-<
-< char *
-< new_fs(form, format, def)
-< register char *form, *format, *def;
----
-> char *new_fs (form, format, def)
-> register char *form,
-> *format,
-> *def;
-89a65
->
-91c67,68
-< } else {
----
-> }
-> else {
-99a77,109
-> /* */
->
-> static normalize (cp)
-> register char *cp;
-> {
-> register char *dp;
->
-> for (dp = cp; *cp; cp++)
-> if (*cp != QUOTE)
-> *dp++ = *cp;
-> else
-> switch (*++cp) {
-> #define grot(y,z) case y: *dp++ = z; break;
-> grot ('b', '\b');
-> grot ('f', '\f');
-> grot ('n', '\n');
-> grot ('r', '\r');
-> grot ('t', '\t');
->
-> case '\n':
-> break;
->
-> case 0:
-> cp--; /* fall */
-> default:
-> *dp++ = *cp;
-> break;
-> }
->
-> *dp = 0;
-> }
->
-> /* */
-104,106c114,117
-< static int
-< match(str, sub)
-< register char *str, *sub;
----
->
-> static int match (str, sub)
-> register char *str,
-> *sub;
-118,119c129
-< s1 = sub + 1;
-< s2 = str;
----
-> s1 = sub + 1; s2 = str;
-126a137
-> /* */
-130,135c141,143
-< #define PUTDF(cp, num, wid, fill) {\
-< if (cp + wid < ep) {\
-< if ((i = (num)) < 0)\
-< i = -(num);\
-< if ((c = (wid)) < 0)\
-< c = -c;\
----
-> #define PUTDF(cp, num, wid, fill) if (cp + wid < ep){\
-> if((i = (num))<0) i = -(num);\
-> if((c = (wid))<0) c = -c;\
-148,152c156,158
-< }}
-< #define PUTD(cp, num) {\
-< if (cp < ep) {\
-< if ((i = (num)) == 0)\
-< *cp++ = '0';\
----
-> }
-> #define PUTD(cp, num) if (cp < ep){\
-> if((i = (num))==0) *cp++ = '0';\
-165c171
-< }}
----
-> }
-167,168c173
-< char *cp2 = cp;\
-< rjust = 0;\
----
-> ljust = 0;\
-171c176
-< rjust++;\
----
-> ljust++;\
-174c179
-< if (rjust) {\
----
-> if (ljust) {\
-190,193c195
-< else if (c == '\010') {\
-< if (cp > cp2)\
-< --cp;\
-< } else {\
----
-> else {\
-199c201
-< if (!rjust)\
----
-> if (!ljust)\
-203d204
-<
-205d205
-< char *cp2 = cp;\
-212,215c212
-< else if (c == '\010') {\
-< if (cp > cp2)\
-< --cp;\
-< } else {\
----
-> else {\
-220c217,218
-< }}
----
-> }\
-> }
-222,225d219
-< static char *lmonth[] = {
-< "January", "February", "March", "April", "May", "June",
-< "July", "August", "September", "October", "November", "December"
-< };
-226a221,223
-> static char *lmonth[] = { "January", "February","March", "April",
-> "May", "June", "July", "August",
-> "September","October", "November","December" };
-227a225,226
->
-> struct format *
-245,246c244
-< register int j;
-< int rjust;
----
-> int ljust;
-251c249
-< for (;;) {
----
-> while (cp < ep) {
-258,259c256
-< PUTSF(cp, fmt->f_comp->c_text, fmt->f_width,
-< fmt->f_fill);
----
-> PUTSF (cp, fmt->f_comp->c_text, fmt->f_width, fmt->f_fill);
-262,269d258
-< case FT_LIT_FORCE:
-< sp = fmt->f_text;
-< i = strlen(sp);
-< ep += i; /* forced lits are `invisible' */
-<
-< while (c = *sp++)
-< *cp++ = c;
-< break;
-277,280c266,268
-<
-< /* By default we left justify */
-< rjust = 0;
-< if ((i = fmt->f_width) < 0) {
----
-> ljust = 0;
-> i = fmt->f_width;
-> if (i < 0) {
-282c270
-< rjust++;
----
-> ljust++; /* XXX should do something with this */
-284,294d271
-<
-< if (rjust) {
-< j = strlen(sp);
-< if (j > i)
-< sp += j - i;
-< else while (j < i && cp < ep) {
-< *cp++ = fmt->f_fill;
-< ++j;
-< }
-< }
-<
-297d273
-<
-320a297
->
-325c302
-< if (str == NULLCP || *str == NULL) {
----
-> if (!(value = (str && *str))) {
-332c309
-< if (str != NULLCP && *str != NULL) {
----
-> if (!(value = (str == NULLCP || *str == 0))) {
-360c337
-< if (!str || !match(str, fmt->f_text)) {
----
-> if (!(value = (str && match (str, fmt->f_text)))) {
-374c351
-< if (!str || !uprf(str, fmt->f_text)) {
----
-> if (!(value = (str && uprf (str, fmt->f_text)))) {
-381d357
-< if (str)
-383,384d358
-< else
-< value = 0;
-388c362
-< value = (str != NULLCP && *str != NULL);
----
-> value = (str != NULLCP && *str != 0);
-392c366
-< value = (str == NULLCP || *str == NULL);
----
-> value = (str == NULLCP || *str == 0);
-419a394,397
-> case FT_LS_GETENV:
-> if (!(str = getenv (fmt->f_text)))
-> str = "";
-> break;
-424,425c402
-< /* Be careful since str can point into buffer */
-< bcopy(str, buffer, strlen(str) + 1);
----
-> (void) strcpy(buffer, str);
-427,428d403
-<
-< /* Eat leading whitespace */
-431,438c406
-<
-< /* Trim trailing whitespace */
-< xp = str + strlen(str) - 1;
-< while (xp > str && isspace(*xp))
-< *xp-- = '\0';
-<
-< /* By default we left justify */
-< rjust = 0;
----
-> ljust = 0;
-441c409
-< rjust++;
----
-> ljust++;
-444,446c412
-< /* If necessary, limit width and/or justify */
-< if (i > 0 && (j = strlen(str)) > i) {
-< if (!rjust)
----
-> if (!ljust && i > 0 && strlen(str) > i)
-448,449c414,419
-< else
-< str += j - i;
----
-> xp = str;
-> xp += strlen(str) - 1;
-> while (xp > str && isspace(*xp))
-> *xp-- = '\0';
-> if (ljust && i > 0 && strlen(str) > i)
-> str += strlen(str) - i;
-451d420
-< }
-458,459c427
-< value = (comp = fmt->f_comp)->c_text ?
-< atoi(comp->c_text) : 0;
----
-> value = (comp = fmt->f_comp)->c_text ? atoi(comp->c_text) : 0;
-484a453,458
-> case FT_LV_MODULO_L:
-> if (fmt->f_value)
-> value = value % fmt->f_value;
-> else
-> value = 0;
-> break;
-517,518c491
-< if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
-< (TW_SEXP | TW_SIMP)))
----
-> if (!(((tws = fmt->f_comp->c_tws)->tw_flags) & (TW_SEXP|TW_SIMP)))
-523,524c496
-< if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
-< (TW_SEXP | TW_SIMP)))
----
-> if (!(((tws = fmt->f_comp->c_tws)->tw_flags) & (TW_SEXP|TW_SIMP)))
-529,530c501
-< if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
-< (TW_SEXP | TW_SIMP)))
----
-> if (!(((tws = fmt->f_comp->c_tws)->tw_flags) & (TW_SEXP|TW_SIMP)))
-550,551c521
-< if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
-< (TW_SEXP | TW_SIMP)))
----
-> if (!(((tws = fmt->f_comp->c_tws)->tw_flags) & (TW_SEXP|TW_SIMP)))
-555,556c525
-< value = 1;
-< break;
----
-> value = 1; break;
-558,559c527
-< value = 0;
-< break;
----
-> value = 0; break;
-561,562c529
-< value = -1;
-< break;
----
-> value = -1; break;
-565,566c532
-< if ((fmt->f_comp->c_tws->tw_flags & TW_SZONE) ==
-< TW_SZEXP)
----
-> if ((fmt->f_comp->c_tws->tw_flags & TW_SZONE) == TW_SZEXP)
-610a577
-> case FT_LS_ADDR:
-614,615c581,587
-< #else
-< mn = fmt->f_comp->c_mn;
----
-> #else not BERK
-> if ((mn = fmt -> f_comp -> c_mn) == &fmt_mnull) {
-> str = fmt -> f_comp -> c_text;
-> break;
-> }
-> if (fmt -> f_type == FT_LS_ADDR)
-> goto unfriendly;
-616a589,604
-> if ((str = mn -> m_note)) {
-> (void) strcpy (buffer, str);
-> str = buffer;
-> if (*str == '(')
-> str++;
-> sp = str + strlen(str) - 1;
-> if (*sp == ')') {
-> *sp-- = '\0';
-> while (sp >= str)
-> if (*sp == ' ')
-> *sp-- = '\0';
-> else
-> break;
-> }
-> } else {
-> unfriendly: ;
-618d605
-<
-632c619,620
-< } else
----
-> }
-> else
-635a624
-> }
-661,662c650
-< bzero((char *)comp->c_tws,
-< sizeof(*comp->c_tws));
----
-> bzero ((char *) comp -> c_tws, sizeof *comp -> c_tws);
-668c656
-< /* custom address list formatting hook */
----
-> /* hook for custom address list formatting (see replsbr.c) */
-673,678c661,665
-< /*
-< * Output the str register as an address component,
-< * splitting it into multiple lines if necessary.
-< * The value reg. contains the max line length. The
-< * lit. field may contain a string to prepend to the
-< * result (e.g., "To: ")
----
-> /* output the str register as an address component,
-> * splitting it into multiple lines if necessary. The
-> * value reg. contains the max line length. The lit.
-> * field may contain a string to prepend to the result
-> * (e.g., "To: ")
-693,696c680,681
-< /*
-< * Try to break at a comma; failing
-< * that, break at a space, failing
-< * that, just split the line.
----
-> /* try to break at a comma; failing that, break at a
-> * space, failing that, just split the line.
-698,699c683
-< lastb = 0;
-< sp = lp + wid;
----
-> lastb = 0; sp = lp + wid;
-729c713,715
-< } else
----
-> } else {
-> while (getname("")) /* XXX */
-> ;
-730a717
-> }
-735,737c722,724
-< * If there's no component, we say true. Otherwise
-< * we say "true" only if we can parse the address and
-< * it matches one of our addresses.
----
-> * if there's no component, we say true. Otherwise we
-> * say "true" only if we can parse the address and it
-> * matches one of our addresses.
-748,749c735
-< (mn = getm(sp, NULLCP, 0,
-< AD_NAME, NULLCP)))
----
-> (mn = getm (sp, NULLCP, 0, AD_NAME, NULLCP)))
-751a738,739
-> while (getname("")) /* XXX */
-> ;
-758,762c746,749
-< /*
-< * If we're working on a folder (as opposed to a
-< * file), add the current msg to sequence given in
-< * literal field. Don't disturb string or value
-< * registers.
----
-> #ifdef LBL
-> /* If we're working on a folder (as opposed to a file), add the
-> * current msg to sequence given in literal field. Don't
-> * disturb string or value registers.
-765,766c752,753
-< (void) m_seqadd(fmt_current_folder,
-< fmt->f_text, dat[0], -1);
----
-> (void)m_seqadd(fmt_current_folder, fmt->f_text, dat[0], -1);
-> #endif
-771c758,759
-< finished:
----
-> #ifndef JLR
-> finished:;
-774,775c762,774
-< *cp = NULL;
-< return (value);
----
-> *cp = 0;
-> return ((struct format *)0);
-> #else /* JLR */
-> if (cp[-1] != '\n')
-> *cp++ = '\n';
-> while (fmt->f_type != FT_DONE)
-> fmt++;
->
-> finished:;
-> *cp = '\0';
-> return (fmt -> f_value ? ++fmt : (struct format *)0);
->
-> #endif /* JLR */
-diff -r -w lbl/sbr/m_gmsg.c ./sbr/m_gmsg.c
-1a2,4
-> #ifndef lint
-> static char ident[] = "@(#)$Id: m_gmsg.c,v 2.8 1992/02/11 21:32:04 jromine
Exp $";
-> #endif lint
-3a7
-> #include "../h/local.h"
-5,16d8
-< #include <sys/types.h>
-< #include <sys/stat.h>
-< #include <ctype.h>
-< #ifndef BSD42
-< #ifndef SYS5
-< #include <ndir.h>
-< #else SYS5
-< #include <dir.h>
-< #endif SYS5
-< #else BSD42
-< #include <sys/dir.h>
-< #endif BSD42
-25,27c17
-< static int m_getatr(), m_setatr();
-<
-< static int len;
----
-> static int len=0;
-29a20,21
-> static m_getatr();
-> static int m_setatr();
-32,33c24
-< struct msgs *
-< m_gmsg(name)
----
-> struct msgs *m_gmsg (name)
-48a40,43
-> #ifdef SYS5DIR
-> register struct dirent *dp;
-> DIR * dd;
-> #else SYS5DIR
-50a46
-> #endif SYS5DIR
-59c55
-< mp = (struct msgs *) malloc (MSIZE (mp, 0, 0));
----
-> mp = (struct msgs *) malloc (MHSIZE (mp, 0, 0));
-183c179
-< realloc ((char *) mp, MSIZE (mp, mp->lowoff, mp->hghoff));
----
-> realloc ((char *) mp, MHSIZE (mp, mp -> lowoff, mp -> hghoff));
-191c187
-< calloc ((unsigned) 1, MSIZEX (mp, mp->lowmsg, mp->hghmsg));
----
-> calloc ((unsigned) 1, MHSIZEX (mp, mp -> lowmsg, mp -> hghmsg));
-195c191
-< if (mp->msgstats < 0)
----
-> if (mp -> msgstats < (int *)0) /* non portable */
-207,208c203
-< static int
-< m_getatr(mp)
----
-> static m_getatr (mp)
-219c214
-< field[BUFSIZ];
----
-> field[BUFSIZ * 2];
-225,226c220,221
-< mp->msgattrs[0] = getcpy (current);
-< mp->msgattrs[1] = NULL;
----
-> mp -> msgattrs[i = 0] = getcpy (current);
-> mp -> msgattrs[++i] = NULL;
-237,248d231
-< case FLDPLUS:
-< /*
-< * sequence was too big for buffer: back up
-< * to a word break.
-< */
-< for (cp = &field[sizeof(field)-2]; !isspace(*cp); --cp)
-< ;
-< if (i = cp - &field[sizeof(field)-2]) {
-< *cp = 0;
-< fseek(fp, i, 1);
-< }
-< /*FALL THROUGH*/
-250,252d232
-< (void) m_setatr (mp, name, field);
-< continue;
-<
-254c234,235
-< (void) m_setatr (mp, name, field);
----
-> (void) m_setatr (mp, getcpy (name), trimcpy (field));
-> if (state == FLDEOF)
-255a237
-> continue;
-286c268
-< if ((i = m_setatr (mp, cp, np->n_field)) != NOTOK)
----
-> if ((i = m_setatr (mp, cp, getcpy (np -> n_field))) != NOTOK)
-288d269
-< free(cp);
-294,295c275
-< static int
-< m_setatr(mp, name, field)
----
-> static int m_setatr (mp, name, field)
-297c277,278
-< register char *name, *field;
----
-> register char *name,
-> *field;
-299,300c280,286
-< register int bits, slot, first, last;
-< register char *cp;
----
-> int bits,
-> hack;
-> register int i,
-> j,
-> k;
-> register char *cp,
-> **ap;
-302,305c288,290
-< if (strcmp (current, name) == 0) {
-< mp->curmsg = atoi(field);
-< return (0);
-< }
----
-> bits = FFATTRSLOT;
-> hack = strcmp (current, name) == 0;/* hack... */
-> /* if we're going to use UNSEEN, it should be set here! */
-307,308c292,295
-< for (slot = 0; mp->msgattrs[slot]; slot++)
-< if (strcmp(mp->msgattrs[slot], name) == 0)
----
-> for (i = 0; mp -> msgattrs[i]; i++)
-> if (strcmp (mp -> msgattrs[i], name) == 0) {
-> for (j = mp -> lowmsg; j <= mp -> hghmsg; j++)
-> mp -> msgstats[j] &= ~(1 << (bits + i));
-310,311c297,300
-<
-< if (slot >= NATTRS)
----
-> }
-> if (i >= NATTRS) {
-> free (name);
-> free (field);
-312a302
-> }
-314,316c304,306
-< if (mp->msgattrs[slot] == NULL) {
-< mp->msgattrs[slot] = getcpy(name);
-< mp->msgattrs[slot + 1] = NULL;
----
-> if (mp -> msgattrs[i] == NULL) {
-> mp -> msgattrs[i] = name;
-> mp -> msgattrs[i + 1] = NULL;
-317a308,309
-> else
-> free (name);
-319,338c311,328
-< bits = 1 << (FFATTRSLOT + slot);
-<
-< for (cp = field; *cp; ) {
-< while (isspace(*cp))
-< ++cp;
-< if (! isdigit(*cp))
-< return (NOTOK);
-< for (first = 0; isdigit(*cp); ++cp)
-< first = (first * 10) + (*cp - '0');
-< if (first == 0)
-< return (NOTOK);
-< if (*cp++ == '-') {
-< /* have a range of msgs */
-< for (last = 0; isdigit(*cp); ++cp)
-< last = (last * 10) + (*cp - '0');
-< if (last < first) {
-< advise(NULLCP,
-< "seq %s msg range bad: first (%d) > last (%d)",
-< name, first, last);
-< continue;
----
-> for (ap = brkstring (field, " ", "\n");
-> *ap;
-> ap++) {
-> if (cp = index (*ap, '-'))
-> *cp++ = NULL;
-> if ((j = m_atoi (*ap)) > 0) {
-> #ifdef notdef
-> if (hack && j >= mp -> lowmsg && j <= mp -> hghmsg
-> && (mp -> msgstats[j] & EXISTS))
-> mp -> curmsg = j;
-> #else not notdef
-> if (hack)
-> mp -> curmsg = j;
-> #endif not notdef
-> for (k = cp ? m_atoi (cp) : j; j <= k; j++)
-> if (j >= mp -> lowmsg && j <= mp -> hghmsg
-> && (mp -> msgstats[j] & EXISTS))
-> mp -> msgstats[j] |= 1 << (bits + i);
-340,349d329
-< if (last < mp->lowmsg)
-< continue;
-< if (last > mp->hghmsg)
-< last = mp->hghmsg;
-< if (first < mp->lowmsg)
-< first = mp->lowmsg;
-< } else {
-< if (first < mp->lowmsg)
-< continue;
-< last = first;
-351,355c331,333
-< for ( ; first <= last; ++first)
-< if (mp->msgstats[first] & EXISTS)
-< mp->msgstats[first] |= bits;
-< }
-< return slot;
----
-> free (field);
->
-> return i;
-diff -r -w lbl/sbr/m_seq.c ./sbr/m_seq.c
-1a2,4
-> #ifndef lint
-> static char ident[] = "@(#)$Id: m_seq.c,v 1.7 1991/02/14 14:44:38 mh Exp $";
-> #endif lint
-6,7c9
-< static char *buffer;
-< static int bufsize = BUFSIZ;
----
-> /* new version from VJ 2/90 - faster? */
-15,16c17,19
-< register int i, j, linlen;
-< register char *bp, *ep;
----
-> register int i, j;
-> register char *bp;
-> static char buffer[BUFSIZ*2]; /* for big sequences */
-18,21d20
-< if (buffer == 0) {
-< if ((buffer = malloc(bufsize)) == NULL)
-< adios (NULLCP, "unable to allocate seq str storage");
-< }
-22a22,23
-> /* assume this is in sync with msgstats["cur"] */
-> /* see m_seqadd() for details */
-38,39d38
-< ep = bp + bufsize - 16;
-< linlen = strlen(cp) + 2;
-41,42d39
-< register char *oldbp;
-<
-46,58c43
-< oldbp = bp;
-< if (bp > buffer) {
-< if (bp >= ep) {
-< int oldoff = bp - buffer;
-< bufsize <<= 1;
-< if ((buffer = realloc(buffer, bufsize)) == NULL)
-< adios (NULLCP, "unable to allocate seq
str storage");
-< oldbp = bp = buffer + oldoff;
-< ep = bp + bufsize - 16;
-< }
-< if (linlen >= 72) {
-< linlen = 0;
-< *bp++ = '\n';
----
-> if (bp > buffer)
-60,62c45
-< }
-< *bp++ = ' ';
-< }
----
->
-73d55
-< linlen += bp - oldbp;
-diff -r -w lbl/zotnet/tws/dtimep.lex ./zotnet/tws/dtimep.lex
-1,11d0
-< %{
-< #ifndef lint
-< static char rcsid[] =
-< #ifdef FLEX_SCANNER
-< "@(#) $Header: dtimep.lex,v 1.15 90/10/16 14:57:20 leres Exp $ (LBL)
(flex generated scanner)";
-< #else
-< "@(#) $Header: dtimep.lex,v 1.15 90/10/16 14:57:20 leres Exp $ (LBL)
(lex generated scanner)";
-< #endif
-< #endif
-< %}
-< /*
-16,17d4
-< */
-<
-48a36,38
-> #ifndef lint
-> static char ident[] = "@(#)$Id: dtimep.lex,v 2.11 1992/02/10 20:32:29
jromine Exp jromine $";
-> #endif
-49a40
-> #include "../h/strings.h"
-50a42,45
-> #include <sys/types.h>
-> #ifndef SYS5
-> #include <sys/timeb.h>
-> #endif not SYS5
-51a47,52
-> #ifdef SYS5
-> extern int daylight;
-> extern long timezone;
-> extern char *tzname[];
-> #endif SYS5
->
-55c56,57
-< * American style: MM/DD/YY.
----
-> * American style: MM/DD/YY. Of course, these are all non-RFC822
-> * compliant.
-121c123,126
-< #define CVT2 (i=(*cp++ - '0'),isdigit(*cp)? i*10 + (*cp++ - '0') : i)
----
-> #define CVT1OR2 (i=(*cp++ - '0'), isdigit(*cp)? i*10 + (*cp++ - '0') :
i)
-> #define CVT2 ((cp[0] - '0')*10 + (cp[1] - '0'))
-> #define CVT4 ((((cp[0] - '0')*10 + (cp[1] - '0'))*10 + \
-> (cp[2] - '0'))*10 + (cp[3] - '0'))
-128,131c133,138
-< #ifdef FLEX_SCANNER
-< /* We get passed a string and return a pointer to a static tws struct */
-< #undef YY_DECL
-< #define YY_DECL struct tws *dparsetime(str) char *str;
----
-> #ifdef DSTXXX
-> #ifndef BSD42
-> #include <time.h>
-> #else BSD42
-> #include <sys/time.h>
-> #endif BSD42
-133,148c140,143
-< /* We assume that we're never passed more than max_size characters */
-< #undef YY_INPUT
-< #define YY_INPUT(buf,result,max_size) \
-< if (gstr) { \
-< register char *xp; \
-< xp = gstr; \
-< while (isspace(*xp)) \
-< xp++; \
-< gstr = xp; \
-< while (*xp != '\0') \
-< ++xp; \
-< result = xp - gstr; \
-< bcopy(gstr, buf, result); \
-< gstr = 0; \
-< } else \
-< result = YY_NULL;
----
-> static zonehack (tw)
-> register struct tws *tw;
-> {
-> register struct tm *tm;
-150,152c145,146
-< /* Date strings aren't usually very long */
-< #undef YY_READ_BUF_SIZE
-< #define YY_READ_BUF_SIZE 128
----
-> if (twclock (tw) == -1L)
-> return;
-154,156c148,168
-< /* Use mh error reporting routine */
-< #undef YY_FATAL_ERROR
-< #define YY_FATAL_ERROR(s) adios("dparsetime()", s);
----
-> tm = localtime (&tw -> tw_clock);
-> if (tm -> tm_isdst) {
-> tw -> tw_flags |= TW_DST;
-> tw -> tw_zone -= 60;
-> }
-> }
-> #endif DSTXXX
-> %}
-> %%
-> %{
-> struct tws *dparsetime (str)
-> char *str;
-> {
-> register int i;
-> static struct tws tw;
-> register char *cp;
-> register int gotdate = 0;
-> #ifndef SYS5
-> struct timeb tb;
-> #endif not SYS5
-> long tclock;
-158,160c170
-< /* We need a pointer to the matched text we can modify */
-< #undef YY_USER_ACTION
-< #define YY_USER_ACTION cp = yytext
----
-> start_cond = 0;
-162,163c172,173
-< /* Used to initialize */
-< static struct tws ztw = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
----
-> /* Zero out the struct. */
-> bzero( (char *) &tw, sizeof tw);
-165,167c175,182
-< /* Global for use by YY_INPUT() macro */
-< static char *gstr;
-< #endif
----
-> /* Set default time zone. */
-> #ifndef SYS5
-> ftime( &tb );
-> tw.tw_zone = -tb.timezone;
-> #else SYS5
-> tzset( );
-> tw.tw_zone = -(timezone / 60);
-> #endif SYS5
-169c184,187
-< %}
----
-> while (isspace(*str))
-> str++;
-> while ( 1 )
-> switch (cp = str, *cp ? lex_string( &str, start_cond) : 0) {
-171,175c189,203
-< %%
-< register int i, gotdate;
-< register char *cp;
-< static struct tws tw;
-< static void zonehack();
----
-> case -1:
-> if (!gotdate || tw.tw_year == 0)
-> return (struct tws *)0;
-> /* fall through */
-> case 0:
-> if ( tw.tw_year == 0 ) {
-> /* Set default year. */
-> time (&tclock);
-> tw.tw_year = localtime(&tclock)->tm_year + 1900;
-> }
-> else if (tw.tw_year < 100) {
-> /* assume no 2-digit years > 1999 */
-> tw.tw_year += 1900;
-> }
-> return &tw;
-177,182c205
-< BEGIN(INITIAL);
-< yy_init = 1;
-< tw = ztw;
-< gstr = str;
-< gotdate = 0;
-<
----
-> %}
-188,189c211
-<
-< {D}"/"{D}"/"(19)?[0-9][0-9]{w} {
----
-> {D}(("-"{D}"-")|("/"{D}"/")){D}?{d}{d}{w} {
-192c214
-< tw.tw_mday = CVT2;
----
-> tw.tw_mday = CVT1OR2;
-194c216
-< tw.tw_mon = CVT2 - 1;
----
-> tw.tw_mon = CVT1OR2 - 1;
-197c219
-< tw.tw_mon = CVT2 - 1;
----
-> tw.tw_mon = CVT1OR2 - 1;
-199c221
-< tw.tw_mday = CVT2;
----
-> tw.tw_mday = CVT1OR2;
-204c226,236
-< tw.tw_year = i % 100;
----
-> tw.tw_year = i;
-> gotdate++; /* XXX */
-> }
-> {D}("/"|"-"){D}{w} {
-> if (europeandate) {
-> tw.tw_mday = CVT1OR2; cp++;
-> tw.tw_mon = CVT1OR2 - 1;
-> } else {
-> tw.tw_mon = CVT1OR2 - 1; cp++;
-> tw.tw_mday = CVT1OR2;
-> }
-207,208c239,240
-< {D}{w}(-)?{w}{MONTH}{w}(-)?{w}(19)?{D}{w}(\,{w}|at{W})? {
-< tw.tw_mday = CVT2;
----
-> {D}{w}(-)?{w}{MONTH}{w}(-)?{w}{D}?{d}{d}({W}at)?{w} {
-> tw.tw_mday = CVT1OR2;
-214c246
-< tw.tw_year = i % 100;
----
-> tw.tw_year = i;
-216c248,254
-< {MONTH}{W}{D}","{W}(19)?{D}{w} {
----
-> {D}"-"?{MONTH}({W}at)?{w} {
-> tw.tw_mday = CVT1OR2;
-> while ( ! isalpha( *cp++ ) )
-> ;
-> SETMONTH;
-> }
-> {MONTH}{W}{D}","{W}{D}?{d}{d}{w} {
-219c257
-< tw.tw_mday = CVT2;
----
-> tw.tw_mday = CVT1OR2;
-223c261
-< tw.tw_year = i % 100;
----
-> tw.tw_year = i;
-225d262
-<
-229c266
-< tw.tw_mday = CVT2;
----
-> tw.tw_mday = CVT1OR2;
-231a269,275
-> {D}:{D}:{D}{W}19[6-9]{d} { /* hack: ctime w/o TZ */
-> tw.tw_hour = CVT1OR2; cp++;
-> tw.tw_min = CVT1OR2; cp++;
-> tw.tw_sec = CVT1OR2;
-> SKIPD;
-> tw.tw_year = CVT4; cp+=4;
-> }
-233,235c277,279
-< tw.tw_hour = CVT2; cp++;
-< tw.tw_min = CVT2; cp++;
-< tw.tw_sec = CVT2;
----
-> tw.tw_hour = CVT1OR2; cp++;
-> tw.tw_min = CVT1OR2; cp++;
-> tw.tw_sec = CVT1OR2;
-239,240c283,284
-< tw.tw_hour = CVT2; cp++;
-< tw.tw_min = CVT2;
----
-> tw.tw_hour = CVT1OR2; cp++;
-> tw.tw_min = CVT1OR2;
-244c288
-< tw.tw_hour = CVT2; cp++;
----
-> tw.tw_hour = CVT1OR2; cp++;
-247c291
-< tw.tw_min = CVT2;
----
-> tw.tw_min = CVT1OR2;
-249a294,301
-> {D}:{D}:{D}{w}am{w} {
-> tw.tw_hour = CVT1OR2; cp++;
-> if (tw.tw_hour == 12)
-> tw.tw_hour = 0;
-> tw.tw_min = CVT1OR2; cp++;
-> tw.tw_sec = CVT1OR2;
-> BEGIN Z;
-> }
-251c303
-< tw.tw_hour = CVT2; cp++;
----
-> tw.tw_hour = CVT1OR2; cp++;
-254c306
-< tw.tw_min = CVT2;
----
-> tw.tw_min = CVT1OR2;
-256a309,316
-> {D}:{D}:{D}{w}pm{w} {
-> tw.tw_hour = CVT1OR2; cp++;
-> if (tw.tw_hour != 12)
-> tw.tw_hour += 12;
-> tw.tw_min = CVT1OR2; cp++;
-> tw.tw_sec = CVT1OR2;
-> BEGIN Z;
-> }
-258,260c318,320
-< tw.tw_hour = CVT2;
-< tw.tw_min = CVT2;
-< tw.tw_sec = CVT2;
----
-> tw.tw_hour = CVT2; cp+=2;
-> tw.tw_min = CVT2; cp+=2;
-> tw.tw_sec = CVT2; cp+=2;
-267,268c327
-< * and minutes. This rule must come
-< * the 4 digit hour and minute rule.
----
-> * and minutes.
-270,271c329
-< cp += 2;
-< tw.tw_year = CVT2;
----
-> tw.tw_year = CVT4; cp+=4;
-274,275c332,338
-< tw.tw_hour = CVT2;
-< tw.tw_min = CVT2;
----
-> if (tw.tw_hour || tw.tw_min
-> || tw.tw_sec) {
-> tw.tw_year = CVT4; cp+=4;
-> tw.tw_zone = 0;
-> } else {
-> tw.tw_hour = CVT2; cp+=2;
-> tw.tw_min = CVT2; cp+=2;
-277a341
-> }
-315a380
-> EXPZONE;
-320d384
-< EXPZONE;
-327a392
-> EXPZONE;
-332d396
-< EXPZONE;
-334c398,401
-<
----
-> <Z>{W}{d}{d}{d}{d} {
-> SKIPD;
-> tw.tw_year = CVT4; cp+=4;
-> }
-337,349d403
-<
-< <INITIAL,Z><<EOF>> return(&tw);
-<
-< . {
-< /*
-< * We jammed; it's an error if we
-< * didn't parse anything.
-< */
-< if (!gotdate || tw.tw_year == 0)
-< return(0);
-< return(&tw);
-< }
-<
-351,375d404
-<
-< #ifdef DSTXXX
-< #include <sys/types.h>
-< #ifndef BSD42
-< #include <time.h>
-< #else BSD42
-< #include <sys/time.h>
-< #endif BSD42
-<
-< static void
-< zonehack(tw)
-< register struct tws *tw;
-< {
-< register struct tm *tm;
-<
-< if (twclock (tw) == -1L)
-< return;
-<
-< tm = localtime (&tw -> tw_clock);
-< if (tm -> tm_isdst) {
-< tw -> tw_flags |= TW_DST;
-< tw -> tw_zone -= 60;
-< }
-< }
-< #endif DSTXXX
diff --git a/docs/historical/mh-6.8.5/local/lbl/files
b/docs/historical/mh-6.8.5/local/lbl/files
deleted file mode 100644
index c53661d..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/files
+++ /dev/null
@@ -1,13 +0,0 @@
-./sbr/formatsbr.c
-./sbr/trmsbr.c
-./sbr/tags
-./sbr/t.c
-./sbr/m_gmsg.c
-./sbr/m_seq.c
-./uip/version.c
-./uip/m_getfld.c
-./zotnet/tws/dtimep.c
-./zotnet/tws/test.input
-./zotnet/tws/dtest
-./zotnet/tws/dtimep.lex
-./zotnet/tws.h
diff --git a/docs/historical/mh-6.8.5/local/lbl/sbr/formatsbr.c
b/docs/historical/mh-6.8.5/local/lbl/sbr/formatsbr.c
deleted file mode 100644
index 6964a9e..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/sbr/formatsbr.c
+++ /dev/null
@@ -1,776 +0,0 @@
-/* formatsbr.c - format string interpretation */
-
-#include "../h/mh.h"
-#include "../h/addrsbr.h"
-#include "../h/formatsbr.h"
-#include "../zotnet/tws.h"
-#include "../h/fmtcompile.h"
-#include <ctype.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#define NFMTS MAXARGS
-#define QUOTE '\\'
-
-static char *formats = 0;
-extern char *formataddr(); /* hook for custom address formatting */
-struct msgs *fmt_current_folder;/* current folder (set by main program) */
-
-int fmt_norm = AD_NAME;
-struct mailname fmt_mnull;
-
-
-static
-normalize(cp)
- register char *cp;
-{
- register char *dp;
-
- for (dp = cp; *cp; cp++)
- if (*cp != QUOTE)
- *dp++ = *cp;
- else
- switch (*++cp) {
-
- case 'b':
- *dp++ = '\b';
- break;
- case 'f':
- *dp++ = '\f';
- break;
- case 'n':
- *dp++ = '\n';
- break;
- case 'r':
- *dp++ = '\r';
- break;
- case 't':
- *dp++ = '\t';
- break;
-
- case '\n':
- break;
-
- case NULL:
- cp--;
- /* fall through */
- default:
- *dp++ = *cp;
- break;
- }
-
- *dp = NULL;
-}
-
-char *
-new_fs(form, format, def)
- register char *form, *format, *def;
-{
- struct stat st;
- register FILE *fp;
-
- if (formats)
- free(formats);
-
- if (form) {
- if ((fp = fopen(libpath(form), "r")) == NULL)
- adios(form, "unable to open format file");
-
- if (fstat(fileno(fp), &st) == NOTOK)
- adios(form, "unable to stat format file");
-
- if ((formats = malloc((unsigned) st.st_size + 1)) == NULLCP)
- adios(form, "unable to allocate space for format");
-
- if (read(fileno(fp), formats, st.st_size) != st.st_size)
- adios(form, "error reading format file");
-
- formats[st.st_size] = '\0';
- (void) fclose(fp);
- } else {
- formats = getcpy(format ? format : def);
- }
-
- normalize(formats);
-
- return formats;
-}
-
-/*
- * test if string "sub" appears anywhere in string "str"
- * (case insensitive).
- */
-static int
-match(str, sub)
- register char *str, *sub;
-{
- register int c1;
- register int c2;
- register char *s1;
- register char *s2;
-
- while (c1 = *sub) {
- while ((c2 = *str++) && (c1 | 040) != (c2 | 040))
- ;
- if (!c2)
- return 0;
- s1 = sub + 1;
- s2 = str;
- while ((c1 = *s1++) && (c1 | 040) == (*s2++ | 040))
- ;
- if (!c1)
- return 1;
- }
- return 1;
-}
-
-/* macros to format data */
-
-#define PUTDF(cp, num, wid, fill) {\
- if (cp + wid < ep) {\
- if ((i = (num)) < 0)\
- i = -(num);\
- if ((c = (wid)) < 0)\
- c = -c;\
- sp = cp + c;\
- do {\
- *--sp = (i % 10) + '0';\
- i /= 10;\
- } while (i > 0 && sp > cp);\
- if (i > 0)\
- *sp = '?';\
- else if ((num) < 0 && sp > cp)\
- *--sp = '-';\
- while (sp > cp)\
- *--sp = fill;\
- cp += c;\
- }}
-#define PUTD(cp, num) {\
- if (cp < ep) {\
- if ((i = (num)) == 0)\
- *cp++ = '0';\
- else {\
- if ((i = (num)) < 0) \
- *cp++ = '-', i = -(num);\
- c = 10;\
- while (c <= i) \
- c *= 10;\
- while (cp < ep && c > 1) {\
- c /= 10;\
- *cp++ = (i / c) + '0';\
- i %= c;\
- }\
- }\
- }}
-#define PUTSF(cp, str, wid, fill) {\
- char *cp2 = cp;\
- rjust = 0;\
- if ((i = (wid)) < 0) {\
- i = -i;\
- rjust++;\
- }\
- if (sp = (str)) {\
- if (rjust) {\
- c = strlen(sp);\
- if (c > i)\
- sp += c - i;\
- else {\
- while (--i >= c && cp < ep)\
- *cp++ = fill;\
- i++;\
- }\
- } else {\
- while ((c = *sp) && c <= 32)\
- sp++;\
- }\
- while ((c = *sp++) && --i >= 0 && cp < ep)\
- if (c > 32) \
- *cp++ = c;\
- else if (c == '\010') {\
- if (cp > cp2)\
- --cp;\
- } else {\
- while ((c = *sp) && c <= 32)\
- sp++;\
- *cp++ = ' ';\
- }\
- }\
- if (!rjust)\
- while (--i >= 0 && cp < ep)\
- *cp++ = fill;\
- }
-
-#define PUTS(cp, str) {\
- char *cp2 = cp;\
- if (sp = (str)) {\
- while ((c = *sp) && c <= 32)\
- sp++;\
- while ((c = *sp++) && cp < ep)\
- if (c > 32) \
- *cp++ = c;\
- else if (c == '\010') {\
- if (cp > cp2)\
- --cp;\
- } else {\
- while ((c = *sp) && c <= 32)\
- sp++;\
- *cp++ = ' ';\
- }\
- }}
-
-static char *lmonth[] = {
- "January", "February", "March", "April", "May", "June",
- "July", "August", "September", "October", "November", "December"
-};
-
-
-fmtscan(format, scanl, width, dat)
- struct format *format;
- char *scanl;
- int width;
- int dat[];
-{
- register char *cp = scanl;
- register char *ep = scanl + width - 1;
- register struct format *fmt = format;
- register char *str = NULLCP;
- register int value = 0;
- register char *sp;
- register int i;
- register int c;
- register struct comp *comp;
- register struct tws *tws;
- register struct mailname *mn;
- register int j;
- int rjust;
- long l;
- char *savestr;
- char buffer[BUFSIZ];
-
- for (;;) {
- switch (fmt->f_type) {
-
- case FT_COMP:
- PUTS(cp, fmt->f_comp->c_text);
- break;
- case FT_COMPF:
- PUTSF(cp, fmt->f_comp->c_text, fmt->f_width,
- fmt->f_fill);
- break;
-
- case FT_LIT_FORCE:
- sp = fmt->f_text;
- i = strlen(sp);
- ep += i; /* forced lits are `invisible' */
-
- while (c = *sp++)
- *cp++ = c;
- break;
- case FT_LIT:
- sp = fmt->f_text;
- while ((c = *sp++) && cp < ep)
- *cp++ = c;
- break;
- case FT_LITF:
- sp = fmt->f_text;
-
- /* By default we left justify */
- rjust = 0;
- if ((i = fmt->f_width) < 0) {
- i = -i;
- rjust++;
- }
-
- if (rjust) {
- j = strlen(sp);
- if (j > i)
- sp += j - i;
- else while (j < i && cp < ep) {
- *cp++ = fmt->f_fill;
- ++j;
- }
- }
-
- while ((c = *sp++) && --i >= 0 && cp < ep)
- *cp++ = c;
-
- while (--i >= 0 && cp < ep)
- *cp++ = fmt->f_fill;
- break;
-
- case FT_STR:
- PUTS(cp, str);
- break;
- case FT_STRF:
- PUTSF(cp, str, fmt->f_width, fmt->f_fill);
- break;
- case FT_STRFW:
- adios(NULLCP, "internal error (FT_STRFW)");
-
- case FT_NUM:
- PUTD(cp, value);
- break;
- case FT_NUMF:
- PUTDF(cp, value, fmt->f_width, fmt->f_fill);
- break;
-
- case FT_CHAR:
- *cp++ = fmt->f_char;
- break;
- case FT_DONE:
- goto finished;
-
- case FT_IF_S:
- if (str == NULLCP || *str == NULL) {
- fmt += fmt->f_skip;
- continue;
- }
- break;
-
- case FT_IF_S_NULL:
- if (str != NULLCP && *str != NULL) {
- fmt += fmt->f_skip;
- continue;
- }
- break;
-
- case FT_IF_V_EQ:
- if (value != fmt->f_value) {
- fmt += fmt->f_skip;
- continue;
- }
- break;
-
- case FT_IF_V_NE:
- if (value == fmt->f_value) {
- fmt += fmt->f_skip;
- continue;
- }
- break;
-
- case FT_IF_V_GT:
- if (value <= fmt->f_value) {
- fmt += fmt->f_skip;
- continue;
- }
- break;
-
- case FT_IF_MATCH:
- if (!str || !match(str, fmt->f_text)) {
- fmt += fmt->f_skip;
- continue;
- }
- break;
-
- case FT_V_MATCH:
- if (str)
- value = match(str, fmt->f_text);
- else
- value = 0;
- break;
-
- case FT_IF_AMATCH:
- if (!str || !uprf(str, fmt->f_text)) {
- fmt += fmt->f_skip;
- continue;
- }
- break;
-
- case FT_V_AMATCH:
- if (str)
- value = uprf(str, fmt->f_text);
- else
- value = 0;
- break;
-
- case FT_S_NONNULL:
- value = (str != NULLCP && *str != NULL);
- break;
-
- case FT_S_NULL:
- value = (str == NULLCP || *str == NULL);
- break;
-
- case FT_V_EQ:
- value = (fmt->f_value == value);
- break;
-
- case FT_V_NE:
- value = (fmt->f_value != value);
- break;
-
- case FT_V_GT:
- value = (fmt->f_value > value);
- break;
-
- case FT_GOTO:
- fmt += fmt->f_skip;
- continue;
-
- case FT_NOP:
- break;
-
- case FT_LS_COMP:
- str = fmt->f_comp->c_text;
- break;
- case FT_LS_LIT:
- str = fmt->f_text;
- break;
- case FT_LS_TRIM:
- if (str) {
- register char *xp;
-
- /* Be careful since str can point into buffer */
- bcopy(str, buffer, strlen(str) + 1);
- str = buffer;
-
- /* Eat leading whitespace */
- while (isspace(*str))
- str++;
-
- /* Trim trailing whitespace */
- xp = str + strlen(str) - 1;
- while (xp > str && isspace(*xp))
- *xp-- = '\0';
-
- /* By default we left justify */
- rjust = 0;
- if ((i = fmt->f_width) < 0) {
- i = -i;
- rjust++;
- }
-
- /* If necessary, limit width and/or justify */
- if (i > 0 && (j = strlen(str)) > i) {
- if (!rjust)
- str[i] = '\0';
- else
- str += j - i;
- }
- }
- break;
-
- case FT_LV_COMPFLAG:
- value = fmt->f_comp->c_flags;
- break;
- case FT_LV_COMP:
- value = (comp = fmt->f_comp)->c_text ?
- atoi(comp->c_text) : 0;
- break;
- case FT_LV_LIT:
- value = fmt->f_value;
- break;
- case FT_LV_DAT:
- value = dat[fmt->f_value];
- break;
- case FT_LV_STRLEN:
- value = strlen(str);
- break;
- case FT_LV_CHAR_LEFT:
- value = width - (cp - scanl);
- break;
- case FT_LV_PLUS_L:
- value += fmt->f_value;
- break;
- case FT_LV_MINUS_L:
- value = fmt->f_value - value;
- break;
- case FT_LV_DIVIDE_L:
- if (fmt->f_value)
- value = value / fmt->f_value;
- else
- value = 0;
- break;
- case FT_SAVESTR:
- savestr = str;
- break;
-
- case FT_LV_SEC:
- value = fmt->f_comp->c_tws->tw_sec;
- break;
- case FT_LV_MIN:
- value = fmt->f_comp->c_tws->tw_min;
- break;
- case FT_LV_HOUR:
- value = fmt->f_comp->c_tws->tw_hour;
- break;
- case FT_LV_MDAY:
- value = fmt->f_comp->c_tws->tw_mday;
- break;
- case FT_LV_MON:
- value = fmt->f_comp->c_tws->tw_mon + 1;
- break;
- case FT_LS_MONTH:
- str = tw_moty[fmt->f_comp->c_tws->tw_mon];
- break;
- case FT_LS_LMONTH:
- str = lmonth[fmt->f_comp->c_tws->tw_mon];
- break;
- case FT_LS_ZONE:
- str = dtwszone(fmt->f_comp->c_tws);
- break;
- case FT_LV_YEAR:
- value = fmt->f_comp->c_tws->tw_year;
- break;
- case FT_LV_WDAY:
- if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
- (TW_SEXP | TW_SIMP)))
- set_dotw(tws);
- value = tws->tw_wday;
- break;
- case FT_LS_DAY:
- if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
- (TW_SEXP | TW_SIMP)))
- set_dotw(tws);
- str = tw_dotw[tws->tw_wday];
- break;
- case FT_LS_WEEKDAY:
- if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
- (TW_SEXP | TW_SIMP)))
- set_dotw(tws);
- str = tw_ldotw[tws->tw_wday];
- break;
- case FT_LV_YDAY:
- value = fmt->f_comp->c_tws->tw_yday;
- break;
- case FT_LV_ZONE:
- value = fmt->f_comp->c_tws->tw_zone;
- break;
- case FT_LV_CLOCK:
- if ((value = fmt->f_comp->c_tws->tw_clock) == 0)
- value = twclock(fmt->f_comp->c_tws);
- break;
- case FT_LV_RCLOCK:
- if ((value = fmt->f_comp->c_tws->tw_clock) == 0)
- value = twclock(fmt->f_comp->c_tws);
- value = time((long *) 0) - value;
- break;
- case FT_LV_DAYF:
- if (!(((tws = fmt->f_comp->c_tws)->tw_flags) &
- (TW_SEXP | TW_SIMP)))
- set_dotw(tws);
- switch (fmt->f_comp->c_tws->tw_flags & TW_SDAY) {
- case TW_SEXP:
- value = 1;
- break;
- case TW_SIMP:
- value = 0;
- break;
- default:
- value = -1;
- break;
- }
- case FT_LV_ZONEF:
- if ((fmt->f_comp->c_tws->tw_flags & TW_SZONE) ==
- TW_SZEXP)
- value = 1;
- else
- value = -1;
- break;
- case FT_LV_DST:
- value = fmt->f_comp->c_tws->tw_flags & TW_DST;
- break;
- case FT_LS_822DATE:
- str = dasctime(fmt->f_comp->c_tws, TW_ZONE);
- break;
- case FT_LS_PRETTY:
- str = dasctime(fmt->f_comp->c_tws, TW_NULL);
- break;
-
- case FT_LS_PERS:
- str = fmt->f_comp->c_mn->m_pers;
- break;
- case FT_LS_MBOX:
- str = fmt->f_comp->c_mn->m_mbox;
- break;
- case FT_LS_HOST:
- str = fmt->f_comp->c_mn->m_host;
- break;
- case FT_LS_PATH:
- str = fmt->f_comp->c_mn->m_path;
- break;
- case FT_LS_GNAME:
- str = fmt->f_comp->c_mn->m_gname;
- break;
- case FT_LS_NOTE:
- str = fmt->f_comp->c_mn->m_note;
- break;
- case FT_LS_822ADDR:
- str = adrformat(fmt->f_comp->c_mn);
- break;
- case FT_LV_HOSTTYPE:
- value = fmt->f_comp->c_mn->m_type;
- break;
- case FT_LV_INGRPF:
- value = fmt->f_comp->c_mn->m_ingrp;
- break;
- case FT_LV_NOHOSTF:
- value = fmt->f_comp->c_mn->m_nohost;
- break;
- case FT_LS_FRIENDLY:
-#ifdef BERK
- str = fmt->f_comp->c_mn->m_mbox;
-#else
- mn = fmt->f_comp->c_mn;
- if ((str = mn->m_pers) == NULL)
- switch (mn->m_type) {
-
- case LOCALHOST:
- str = mn->m_mbox;
- break;
- case UUCPHOST:
- (void) sprintf(buffer, "%s!%s",
- mn->m_host, mn->m_mbox);
- str = buffer;
- break;
- default:
- if (mn->m_mbox) {
- (void) sprintf(buffer,
"address@hidden",
- mn->m_mbox, mn->m_host);
- str = buffer;
- } else
- str = mn->m_text;
- break;
- }
-#endif BERK
- break;
-
- case FT_LOCALDATE:
- comp = fmt->f_comp;
- if ((l = comp->c_tws->tw_clock) == 0)
- l = twclock(comp->c_tws);
- tws = dlocaltime(&l);
- *comp->c_tws = *tws;
- break;
-
- case FT_GMTDATE:
- comp = fmt->f_comp;
- if ((l = comp->c_tws->tw_clock) == 0)
- l = twclock(comp->c_tws);
- tws = dgmtime(&l);
- *comp->c_tws = *tws;
- break;
-
- case FT_PARSEDATE:
- comp = fmt->f_comp;
- if ((sp = comp->c_text) && (tws = dparsetime(sp))) {
- *comp->c_tws = *tws;
- comp->c_flags = 0;
- } else if (comp->c_flags >= 0) {
- bzero((char *)comp->c_tws,
- sizeof(*comp->c_tws));
- comp->c_flags = 1;
- }
- break;
-
- case FT_FORMATADDR:
- /* custom address list formatting hook */
- str = formataddr(savestr, str);
- break;
-
- case FT_PUTADDR:
- /*
- * Output the str register as an address component,
- * splitting it into multiple lines if necessary.
- * The value reg. contains the max line length. The
- * lit. field may contain a string to prepend to the
- * result (e.g., "To: ")
- */
- {
- register char *lp = str;
- register int indent;
- register int wid = value;
- register int len = strlen(str);
- register char *lastb;
-
- sp = fmt->f_text;
- indent = strlen(sp);
- wid -= indent;
- while ((c = *sp++) && cp < ep)
- *cp++ = c;
- while (len > wid) {
- /*
- * Try to break at a comma; failing
- * that, break at a space, failing
- * that, just split the line.
- */
- lastb = 0;
- sp = lp + wid;
- while (sp > lp && (c = *--sp) != ',') {
- if (!lastb && isspace(c))
- lastb = sp - 1;
- }
- if (sp == lp)
- if (!(sp = lastb))
- sp = lp + wid - 1;
- len -= sp - lp + 1;
- while (cp < ep && lp <= sp)
- *cp++ = *lp++;
- *cp++ = '\n';
- for (i = indent; cp < ep && i > 0; i--)
- *cp++ = ' ';
- while (isspace(*lp))
- lp++, len--;
- }
- PUTS(cp, lp);
- }
- break;
-
- case FT_PARSEADDR:
- comp = fmt->f_comp;
- if (comp->c_mn != &fmt_mnull)
- mnfree(comp->c_mn);
- if ((sp = comp->c_text) && (sp = getname(sp)) &&
- (mn = getm(sp, NULLCP, 0, fmt_norm, NULLCP))) {
- comp->c_mn = mn;
- while (getname(""))
- ;
- } else
- comp->c_mn = &fmt_mnull;
- break;
-
- case FT_MYMBOX:
- /*
- * If there's no component, we say true. Otherwise
- * we say "true" only if we can parse the address and
- * it matches one of our addresses.
- */
- comp = fmt->f_comp;
- if (comp->c_mn != &fmt_mnull)
- mnfree(comp->c_mn);
- if ((sp = comp->c_text) && (sp = getname(sp)) &&
- (mn = getm(sp, NULLCP, 0, AD_NAME, NULLCP))) {
- comp->c_mn = mn;
- comp->c_flags = ismymbox(mn);
- while (sp = getname(sp))
- if (comp->c_flags == 0 &&
- (mn = getm(sp, NULLCP, 0,
- AD_NAME, NULLCP)))
- comp->c_flags |= ismymbox(mn);
- } else {
- comp->c_flags = (comp->c_text == 0);
- comp->c_mn = &fmt_mnull;
- }
- break;
-
- case FT_ADDTOSEQ:
- /*
- * If we're working on a folder (as opposed to a
- * file), add the current msg to sequence given in
- * literal field. Don't disturb string or value
- * registers.
- */
- if (fmt_current_folder)
- (void) m_seqadd(fmt_current_folder,
- fmt->f_text, dat[0], -1);
- break;
- }
- fmt++;
- }
-finished:
- if (cp[-1] != '\n')
- *cp++ = '\n';
- *cp = NULL;
- return (value);
-}
diff --git a/docs/historical/mh-6.8.5/local/lbl/sbr/m_gmsg.c
b/docs/historical/mh-6.8.5/local/lbl/sbr/m_gmsg.c
deleted file mode 100644
index c86203a..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/sbr/m_gmsg.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/* m_gmsg.c - read a folder */
-
-#include "../h/mh.h"
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <ctype.h>
-#ifndef BSD42
-#ifndef SYS5
-#include <ndir.h>
-#else SYS5
-#include <dir.h>
-#endif SYS5
-#else BSD42
-#include <sys/dir.h>
-#endif BSD42
-
-
-#define NINFO (MAXFOLDER / 5) /* PLEASE be non-trivial... */
-struct info {
- int msgno;
- int stats;
-};
-
-static int m_getatr(), m_setatr();
-
-static int len;
-static struct info *head;
-
-/* */
-
-struct msgs *
-m_gmsg(name)
- register char *name;
-{
-#ifdef COMPAT
- register int cur,
- fd;
-#endif COMPAT
- register int i,
- j;
- register struct info *rover,
- *tail;
-#ifdef COMPAT
- register char *cp;
- char buffer[BUFSIZ];
-#endif COMPAT
- register struct msgs *mp;
- register struct direct *dp;
- register DIR * dd;
- struct stat st;
-
- if ((dd = opendir (name = m_mailpath (name))) == NULL) {
- free (name);
- return NULL;
- }
- (void) fstat (dd->dd_fd, &st);
-
- mp = (struct msgs *) malloc (MSIZE (mp, 0, 0));
- if (mp == NULL)
- adios (NULLCP, "unable to allocate folder storage");
- mp->lowmsg = mp->hghmsg = mp->nummsg = 0;
- mp->curmsg = 0;
- mp->lowsel = mp->hghsel = mp->numsel = 0;
- mp->foldpath = name;
- mp->msgflags = NULL;
- if (st.st_uid != getuid () || access (name, 02) == NOTOK)
- mp->msgflags |= READONLY;
-#ifdef COMPAT
- cur = 0;
-#endif COMPAT
- j = strlen (SBACKUP);
- if (head == NULL)
- if ((head = (struct info *)
- malloc ((unsigned) ((len = NINFO) * sizeof *head))) == NULL)
- adios (NULLCP, "unable to allocate info storage");
- tail = (rover = head) + len;
-
- while (dp = readdir (dd))
- if (i = m_atoi (dp->d_name)) {
- if (rover >= tail) {
- register int curlen = tail - head;
-
- if ((tail = (struct info *) realloc ((char *) head,
- (unsigned) ((len += NINFO) * sizeof *head)))
- == NULL)
- adios (NULLCP, "unable to allocate info storage");
- else
- rover = tail + curlen, head = tail, tail += len;
- }
- if (i > mp->hghmsg)
- mp->hghmsg = i;
- mp->nummsg++;
- if (mp->lowmsg == 0 || i < mp->lowmsg)
- mp->lowmsg = i;
- rover->msgno = i;
- rover->stats = EXISTS;
-#ifdef notdef
- rover->stats &= ~DELETED;
-#endif notdef
- rover++;
- }
- else
- switch (dp->d_name[0]) {
- case '.':
- continue;
-
- case ',':
-#ifdef notdef
- if ((i = m_atoi (dp->d_name + 1)) {
- register struct info *l;
-
- for (l = head; l < rover; l++)
- if (l->msgno == i) {
- if (!(l->stats & EXISTS))
- l->stats |= DELETED;
- break;
- }
- }
-#endif notdef
- continue;
-
-#ifdef MHE
- case '+':
- continue;
-#endif MHE
-
-#ifdef UCI
- case '_':
- case '#':
- continue;
-#endif UCI
-
- default:
-#ifdef COMPAT
- if (strcmp (dp->d_name, current) == 0) {
- cur++;
- continue;
- }
-#endif COMPAT
- if (strcmp (dp->d_name, LINK) == 0
- || strncmp (dp->d_name, SBACKUP, j) == 0)
- continue;
- mp->msgflags |= OTHERS;
- continue;
- }
-
- closedir (dd);
-
-/* */
-
-#ifdef COMPAT
- (void) sprintf (buffer, "%s-%s", current, name);
- if (cp = m_find (buffer)) {
- i = m_atoi (cp);
- (void) m_delete(buffer);
- if (i > 0)
- mp->curmsg = i;
- }
- if (mp->curmsg == 0 && cur && (fd = open (current, 0)) != NOTOK) {
- if ((i = read (fd, buffer, sizeof buffer)) > 0) {
- if (cp = index (buffer, '\n'))
- *cp = NULL;
- if ((i = m_atoi (buffer)) > 0)
- mp->curmsg = i;
- }
- (void) close (fd);
- }
- if (cur && !(mp->msgflags & READONLY)){ /* sneaky... */
- (void) sprintf (buffer, "%s/%s", name, current);
- (void) unlink (buffer);
- }
-#endif COMPAT
-
-#ifndef MTR
- mp->lowoff = 1;
-#else MTR
- mp->lowoff = mp->lowmsg;
-#endif MTR
- mp->hghoff = mp->hghmsg + 1;/* for "new" in m_convert */
-
- mp = (struct msgs *)
- realloc ((char *) mp, MSIZE (mp, mp->lowoff, mp->hghoff));
- if (mp == NULL)
- adios (NULLCP, "unable to allocate folder storage");
-#ifndef MTR
- for (i = mp->lowmsg; i <= mp->hghmsg; i++)
- mp->msgstats[i] = 0;
-#else MTR
- mp->msgstats = (int *)
- calloc ((unsigned) 1, MSIZEX (mp, mp->lowmsg, mp->hghmsg));
- if (mp->msgstats == NULL)
- adios (NULLCP, "unable to allocate messages storage");
- mp->msgstats = (mp->msgbase = mp->msgstats) - mp->lowoff;
- if (mp->msgstats < 0)
- adios (NULLCP, "m_gmsg() botch -- you lose big");
-#endif MTR
- for (tail = head; tail < rover; tail++)
- mp->msgstats[tail->msgno] = tail->stats;
- m_getatr (mp);
-
- return mp;
-}
-
-/* */
-
-static int
-m_getatr(mp)
- register struct msgs *mp;
-{
- int alen,
- bits,
- i,
- j,
- plen,
- state;
- register char *cp;
- char name[NAMESZ],
- field[BUFSIZ];
- register struct node *np;
- register FILE * fp;
-
- bits = FFATTRSLOT;
-
- mp->msgattrs[0] = getcpy (current);
- mp->msgattrs[1] = NULL;
- mp->attrstats = 0; /* initially, all public */
-
- m_getdefs ();
- if (mh_seq == NULL || *mh_seq == NULL)
- goto private_only;
-
- (void) sprintf (field, "%s/%s", mp->foldpath, mh_seq);
- if (fp = fopen (field, "r")) {
- for (state = FLD;;) {
- switch (state = m_getfld (state, name, field, sizeof field, fp)) {
- case FLDPLUS:
- /*
- * sequence was too big for buffer: back up
- * to a word break.
- */
- for (cp = &field[sizeof(field)-2]; !isspace(*cp); --cp)
- ;
- if (i = cp - &field[sizeof(field)-2]) {
- *cp = 0;
- fseek(fp, i, 1);
- }
- /*FALL THROUGH*/
- case FLD:
- (void) m_setatr (mp, name, field);
- continue;
-
- case FLDEOF:
- (void) m_setatr (mp, name, field);
- break;
-
- case BODY:
- case BODYEOF:
- adios (NULLCP,
- "no blank lines are permitted in %s/%s",
- mp->foldpath, mh_seq);/* fall */
-
- case FILEEOF:
- break;
-
- default:
- adios (NULLCP, "%s/%s is poorly formatted",
- mp->foldpath, mh_seq);
- }
- break;
- }
- (void) fclose (fp);
- }
-
-private_only: ;
- alen = strlen ("atr-");
- plen = strlen (mp->foldpath) + 1;
-
- for (np = m_defs; np; np = np->n_next)
- if (ssequal ("atr-", np->n_name)
- && (j = strlen (np->n_name) - plen) > alen
- && *(np->n_name + j) == '-'
- && strcmp (mp->foldpath, np->n_name + j + 1) == 0) {
- cp = getcpy (np->n_name + alen);
- *(cp + j - alen) = NULL;
- if ((i = m_setatr (mp, cp, np->n_field)) != NOTOK)
- mp->attrstats |= 1 << (bits + i);/* private */
- free(cp);
- }
-}
-
-/* */
-
-static int
-m_setatr(mp, name, field)
- register struct msgs *mp;
- register char *name, *field;
-{
- register int bits, slot, first, last;
- register char *cp;
-
- if (strcmp (current, name) == 0) {
- mp->curmsg = atoi(field);
- return (0);
- }
-
- for (slot = 0; mp->msgattrs[slot]; slot++)
- if (strcmp(mp->msgattrs[slot], name) == 0)
- break;
-
- if (slot >= NATTRS)
- return NOTOK;
-
- if (mp->msgattrs[slot] == NULL) {
- mp->msgattrs[slot] = getcpy(name);
- mp->msgattrs[slot + 1] = NULL;
- }
-
- bits = 1 << (FFATTRSLOT + slot);
-
- for (cp = field; *cp; ) {
- while (isspace(*cp))
- ++cp;
- if (! isdigit(*cp))
- return (NOTOK);
- for (first = 0; isdigit(*cp); ++cp)
- first = (first * 10) + (*cp - '0');
- if (first == 0)
- return (NOTOK);
- if (*cp++ == '-') {
- /* have a range of msgs */
- for (last = 0; isdigit(*cp); ++cp)
- last = (last * 10) + (*cp - '0');
- if (last < first) {
- advise(NULLCP,
- "seq %s msg range bad: first (%d) > last (%d)",
- name, first, last);
- continue;
- }
- if (last < mp->lowmsg)
- continue;
- if (last > mp->hghmsg)
- last = mp->hghmsg;
- if (first < mp->lowmsg)
- first = mp->lowmsg;
- } else {
- if (first < mp->lowmsg)
- continue;
- last = first;
- }
- for ( ; first <= last; ++first)
- if (mp->msgstats[first] & EXISTS)
- mp->msgstats[first] |= bits;
- }
- return slot;
-}
diff --git a/docs/historical/mh-6.8.5/local/lbl/sbr/m_seq.c
b/docs/historical/mh-6.8.5/local/lbl/sbr/m_seq.c
deleted file mode 100644
index 50748fa..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/sbr/m_seq.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* m_seq.c - print out a message sequence */
-
-#include "../h/mh.h"
-#include <stdio.h>
-
-static char *buffer;
-static int bufsize = BUFSIZ;
-
-char *
-m_seq(mp, cp)
- struct msgs *mp;
- char *cp;
-{
- int mask;
- register int i, j, linlen;
- register char *bp, *ep;
-
- if (buffer == 0) {
- if ((buffer = malloc(bufsize)) == NULL)
- adios (NULLCP, "unable to allocate seq str storage");
- }
- if (strcmp(current, cp) == 0) {
- if (mp->curmsg) {
- (void) sprintf(buffer, "%s", m_name(mp->curmsg));
- return (buffer);
- } else
- return (NULL);
- }
- for (i = 0; mp->msgattrs[i]; i++)
- if (strcmp(mp->msgattrs[i], cp) == 0)
- break;
-
- if (! mp->msgattrs[i])
- return (NULL);
-
- mask = EXISTS | (1 << (FFATTRSLOT + i));
- bp = buffer;
- ep = bp + bufsize - 16;
- linlen = strlen(cp) + 2;
- for (i = mp->lowmsg; i <= mp->hghmsg; ++i) {
- register char *oldbp;
-
- if ((mp->msgstats[i] & mask) != mask)
- continue;
-
- oldbp = bp;
- if (bp > buffer) {
- if (bp >= ep) {
- int oldoff = bp - buffer;
- bufsize <<= 1;
- if ((buffer = realloc(buffer, bufsize)) == NULL)
- adios (NULLCP, "unable to allocate seq
str storage");
- oldbp = bp = buffer + oldoff;
- ep = bp + bufsize - 16;
- }
- if (linlen >= 72) {
- linlen = 0;
- *bp++ = '\n';
- *bp++ = ' ';
- }
- *bp++ = ' ';
- }
- (void) sprintf(bp, "%s", m_name(i));
- bp += strlen(bp);
- j = i;
- for (++i; i <= mp->hghmsg && (mp->msgstats[i] & mask) == mask;
- ++i)
- ;
- if (i - j > 1) {
- (void) sprintf(bp, "-%s", m_name(i - 1));
- bp += strlen(bp);
- }
- linlen += bp - oldbp;
- }
- return (bp > buffer? buffer : NULL);
-}
diff --git a/docs/historical/mh-6.8.5/local/lbl/sbr/t.c
b/docs/historical/mh-6.8.5/local/lbl/sbr/t.c
deleted file mode 100644
index 352a443..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/sbr/t.c
+++ /dev/null
@@ -1,337 +0,0 @@
-/* m_gmsg.c - read a folder */
-
-#include "../h/mh.h"
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#ifndef BSD42
-#ifndef SYS5
-#include <ndir.h>
-#else SYS5
-#include <dir.h>
-#endif SYS5
-#else BSD42
-#include <sys/dir.h>
-#endif BSD42
-
-
-#define NINFO (MAXFOLDER / 5) /* PLEASE be non-trivial... */
-struct info {
- int msgno;
- int stats;
-};
-
-static int m_getatr(), m_setatr();
-
-static int len;
-static struct info *head;
-
-/* */
-
-struct msgs *
-m_gmsg(name)
- register char *name;
-{
-#ifdef COMPAT
- register int cur,
- fd;
-#endif COMPAT
- register int i,
- j;
- register struct info *rover,
- *tail;
-#ifdef COMPAT
- register char *cp;
- char buffer[BUFSIZ];
-#endif COMPAT
- register struct msgs *mp;
- register struct direct *dp;
- register DIR * dd;
- struct stat st;
-
- if ((dd = opendir (name = m_mailpath (name))) == NULL) {
- free (name);
- return NULL;
- }
- (void) fstat (dd -> dd_fd, &st);
-
- mp = (struct msgs *) malloc (MSIZE (mp, 0, 0));
- if (mp == NULL)
- adios (NULLCP, "unable to allocate folder storage");
- mp -> lowmsg = mp -> hghmsg = mp -> nummsg = 0;
- mp -> curmsg = 0;
- mp -> lowsel = mp -> hghsel = mp -> numsel = 0;
- mp -> foldpath = name;
- mp -> msgflags = NULL;
- if (st.st_uid != getuid () || access (name, 02) == NOTOK)
- mp -> msgflags |= READONLY;
-#ifdef COMPAT
- cur = 0;
-#endif COMPAT
- j = strlen (SBACKUP);
- if (head == NULL)
- if ((head = (struct info *)
- malloc ((unsigned) ((len = NINFO) * sizeof *head))) == NULL)
- adios (NULLCP, "unable to allocate info storage");
- tail = (rover = head) + len;
-
- while (dp = readdir (dd))
- if (i = m_atoi (dp -> d_name)) {
- if (rover >= tail) {
- register int curlen = tail - head;
-
- if ((tail = (struct info *) realloc ((char *) head,
- (unsigned) ((len += NINFO) * sizeof *head)))
- == NULL)
- adios (NULLCP, "unable to allocate info storage");
- else
- rover = tail + curlen, head = tail, tail += len;
- }
- if (i > mp -> hghmsg)
- mp -> hghmsg = i;
- mp -> nummsg++;
- if (mp -> lowmsg == 0 || i < mp -> lowmsg)
- mp -> lowmsg = i;
- rover -> msgno = i;
- rover -> stats = EXISTS;
-#ifdef notdef
- rover -> stats &= ~DELETED;
-#endif notdef
- rover++;
- }
- else
- switch (dp -> d_name[0]) {
- case '.':
- continue;
-
- case ',':
-#ifdef notdef
- if ((i = m_atoi (dp -> d_name + 1)) {
- register struct info *l;
-
- for (l = head; l < rover; l++)
- if (l -> msgno == i) {
- if (!(l -> stats & EXISTS))
- l -> stats |= DELETED;
- break;
- }
- }
-#endif notdef
- continue;
-
-#ifdef MHE
- case '+':
- continue;
-#endif MHE
-
-#ifdef UCI
- case '_':
- case '#':
- continue;
-#endif UCI
-
- default:
-#ifdef COMPAT
- if (strcmp (dp -> d_name, current) == 0) {
- cur++;
- continue;
- }
-#endif COMPAT
- if (strcmp (dp -> d_name, LINK) == 0
- || strncmp (dp -> d_name, SBACKUP, j) == 0)
- continue;
- mp -> msgflags |= OTHERS;
- continue;
- }
-
- closedir (dd);
-
-/* */
-
-#ifdef COMPAT
- (void) sprintf (buffer, "%s-%s", current, name);
- if (cp = m_find (buffer)) {
- i = m_atoi (cp);
- (void) m_delete(buffer);
- if (i > 0)
- mp -> curmsg = i;
- }
- if (mp -> curmsg == 0 && cur && (fd = open (current, 0)) != NOTOK) {
- if ((i = read (fd, buffer, sizeof buffer)) > 0) {
- if (cp = index (buffer, '\n'))
- *cp = NULL;
- if ((i = m_atoi (buffer)) > 0)
- mp -> curmsg = i;
- }
- (void) close (fd);
- }
- if (cur && !(mp -> msgflags & READONLY)){ /* sneaky... */
- (void) sprintf (buffer, "%s/%s", name, current);
- (void) unlink (buffer);
- }
-#endif COMPAT
-
-#ifndef MTR
- mp -> lowoff = 1;
-#else MTR
- mp -> lowoff = mp -> lowmsg;
-#endif MTR
- mp -> hghoff = mp -> hghmsg + 1;/* for "new" in m_convert */
-
- mp = (struct msgs *)
- realloc ((char *) mp, MSIZE (mp, mp -> lowoff, mp -> hghoff));
- if (mp == NULL)
- adios (NULLCP, "unable to allocate folder storage");
-#ifndef MTR
- for (i = mp -> lowmsg; i <= mp -> hghmsg; i++)
- mp -> msgstats[i] = 0;
-#else MTR
- mp -> msgstats = (int *)
- calloc ((unsigned) 1, MSIZEX (mp, mp -> lowmsg, mp -> hghmsg));
- if (mp -> msgstats == NULL)
- adios (NULLCP, "unable to allocate messages storage");
- mp -> msgstats = (mp -> msgbase = mp -> msgstats) - mp -> lowoff;
- if (mp -> msgstats < 0)
- adios (NULLCP, "m_gmsg() botch -- you lose big");
-#endif MTR
- for (tail = head; tail < rover; tail++)
- mp -> msgstats[tail -> msgno] = tail -> stats;
- m_getatr (mp);
-
- return mp;
-}
-
-/* */
-
-static int
-m_getatr(mp)
- register struct msgs *mp;
-{
- int alen,
- bits,
- i,
- j,
- plen,
- state;
- register char *cp;
- char name[NAMESZ],
- field[BUFSIZ];
- register struct node *np;
- register FILE * fp;
-
- bits = FFATTRSLOT;
-
- mp -> msgattrs[i = 0] = getcpy (current);
- mp -> msgattrs[++i] = NULL;
- mp -> attrstats = 0; /* initially, all public */
-
- m_getdefs ();
- if (mh_seq == NULL || *mh_seq == NULL)
- goto private_only;
-
- (void) sprintf (field, "%s/%s", mp -> foldpath, mh_seq);
- if (fp = fopen (field, "r")) {
- for (state = FLD;;) {
- switch (state = m_getfld (state, name, field, sizeof field, fp)) {
- case FLD:
- case FLDEOF:
- (void) m_setatr (mp, getcpy (name), trimcpy (field));
- if (state == FLDEOF)
- break;
- continue;
-
- case BODY:
- case BODYEOF:
- adios (NULLCP,
- "no blank lines are permitted in %s/%s",
- mp -> foldpath, mh_seq);/* fall */
-
- case FILEEOF:
- break;
-
- default:
- adios (NULLCP, "%s/%s is poorly formatted",
- mp -> foldpath, mh_seq);
- }
- break;
- }
- (void) fclose (fp);
- }
-
-private_only: ;
- alen = strlen ("atr-");
- plen = strlen (mp -> foldpath) + 1;
-
- for (np = m_defs; np; np = np -> n_next)
- if (ssequal ("atr-", np -> n_name)
- && (j = strlen (np -> n_name) - plen) > alen
- && *(np -> n_name + j) == '-'
- && strcmp (mp -> foldpath, np -> n_name + j + 1) == 0) {
- cp = getcpy (np -> n_name + alen);
- *(cp + j - alen) = NULL;
- if ((i = m_setatr (mp, cp, getcpy (np -> n_field))) != NOTOK)
- mp -> attrstats |= 1 << (bits + i);/* private */
- }
-}
-
-/* */
-
-static int
-m_setatr(mp, name, field)
- register struct msgs *mp;
- register char *name, *field;
-{
- int bits,
- hack;
- register int i,
- j,
- k;
- register char *cp,
- **ap;
-
- bits = FFATTRSLOT;
- hack = strcmp (current, name) == 0;/* hack... */
-
- for (i = 0; mp -> msgattrs[i]; i++)
- if (strcmp (mp -> msgattrs[i], name) == 0) {
- for (j = mp -> lowmsg; j <= mp -> hghmsg; j++)
- mp -> msgstats[j] &= ~(1 << (bits + i));
- break;
- }
- if (i >= NATTRS) {
- free (name);
- free (field);
- return NOTOK;
- }
-
- if (mp -> msgattrs[i] == NULL) {
- mp -> msgattrs[i] = name;
- mp -> msgattrs[i + 1] = NULL;
- }
- else
- free (name);
-
- for (ap = brkstring (field, " ", "\n");
- *ap;
- ap++) {
- if (cp = index (*ap, '-'))
- *cp++ = NULL;
- if ((j = m_atoi (*ap)) > 0) {
-#ifdef notdef
- if (hack && j >= mp -> lowmsg && j <= mp -> hghmsg
- && (mp -> msgstats[j] & EXISTS))
- mp -> curmsg = j;
-#else not notdef
- if (hack)
- mp -> curmsg = j;
-#endif not notdef
- for (k = cp ? m_atoi (cp) : j; j <= k; j++)
- if (j >= mp -> lowmsg && j <= mp -> hghmsg
- && (mp -> msgstats[j] & EXISTS))
- mp -> msgstats[j] |= 1 << (bits + i);
- }
- }
- free (field);
-
- return i;
-}
diff --git a/docs/historical/mh-6.8.5/local/lbl/sbr/tags
b/docs/historical/mh-6.8.5/local/lbl/sbr/tags
deleted file mode 120000
index 305be39..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/sbr/tags
+++ /dev/null
@@ -1 +0,0 @@
-../uip/tags
\ No newline at end of file
diff --git a/docs/historical/mh-6.8.5/local/lbl/sbr/trmsbr.c
b/docs/historical/mh-6.8.5/local/lbl/sbr/trmsbr.c
deleted file mode 100644
index bd8b959..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/sbr/trmsbr.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/* trmsbr.c - minor termcap support (load with -ltermlib) */
-
-#include "../h/mh.h"
-#include <stdio.h>
-#ifndef SYS5
-#include <sgtty.h>
-#else SYS5
-#include <sys/types.h>
-#include <termio.h>
-#include <sys/ioctl.h>
-#endif SYS5
-#include <ctype.h>
-
-
-#if BUFSIZ<2048
-#define TXTSIZ 2048
-#else
-#define TXTSIZ BUFSIZ
-#endif
-
-char PC;
-short ospeed;
-
-int tgetent (), tgetnum ();
-char *tgetstr ();
-
-/* */
-
-static int TCinited = 0;
-static int TCavailable = 0;
-static int initLI = 0;
-static int LI = 24;
-static int initCO = 0;
-static int CO = 80;
-static char *CL = NULL;
-static char *SE = NULL;
-static char *SO = NULL;
-
-static char termcap[TXTSIZ];
-static char area[TXTSIZ];
-
-/* */
-
-static void
-read_termcap()
-{
- register char *bp,
- *term;
- register int i;
- char *cp;
-#ifndef SYS5
- struct sgttyb sg;
-#else SYS5
- struct termio sg;
-#endif SYS5
-
- if (TCinited)
- return;
-
- ++TCinited;
-
- if (!isatty(fileno(stdout)))
- return;
-
- if ((term = getenv ("TERM")) == NULL || tgetent (termcap, term) <= OK)
- return;
-
- ++TCavailable;
-
-#ifndef SYS5
- ospeed = ioctl(fileno (stdout), TIOCGETP, (char *) &sg) != NOTOK
- ? sg.sg_ospeed : 0;
-#else SYS5
- ospeed = ioctl(fileno (stdout), TCGETA, &sg) != NOTOK
- ? sg.c_cflag & CBAUD : 0;
-#endif SYS5
-
- if (!initCO && (i = tgetnum ("co")) > 0)
- CO = i;
- if (!initLI && (i = tgetnum ("li")) > 0)
- LI = i;
-
- cp = area;
- CL = tgetstr ("cl", &cp);
- if (bp = tgetstr ("pc", &cp))
- PC = *bp;
- if (tgetnum ("sg") <= 0) {
- SE = tgetstr ("se", &cp);
- SO = tgetstr ("so", &cp);
- }
-}
-
-/* */
-
-int
-sc_width()
-{
-#ifdef TIOCGWINSZ
- struct winsize win;
-
- if (ioctl(fileno (stderr), TIOCGWINSZ, &win) != NOTOK && win.ws_col > 0) {
- CO = win.ws_col;
- initCO++;
- } else
-#endif TIOCGWINSZ
- read_termcap();
-
- return CO;
-}
-
-
-int
-sc_length()
-{
-#ifdef TIOCGWINSZ
- struct winsize win;
-
- if (ioctl(fileno (stderr), TIOCGWINSZ, &win) != NOTOK && win.ws_row > 0) {
- LI = win.ws_row;
- initLI++;
- } else
-#endif TIOCGWINSZ
- read_termcap();
-
- return LI;
-}
-
-/* */
-
-static int
-outc(c)
-register char c;
-{
- (void) putchar (c);
-}
-
-
-void
-clear_screen()
-{
- read_termcap();
-
- if (CL && ospeed)
- tputs (CL, LI, outc);
- else {
- printf ("\f");
- if (ospeed)
- printf ("\200");
- }
-
- (void) fflush (stdout);
-}
-
-/* */
-
-/* VARARGS1 */
-
-SOprintf(fmt, a, b, c, d, e, f)
-char *fmt,
- *a,
- *b,
- *c,
- *d,
- *e,
- *f;
-{
- read_termcap();
- if (SO == NULL || SE == NULL)
- return NOTOK;
-
- tputs (SO, 1, outc);
- printf (fmt, a, b, c, d, e, f);
- tputs (SE, 1, outc);
-
- return OK;
-}
-
-#define MAXTCENT 32
-static int nTCent;
-static char *TCid[MAXTCENT];
-static char *TCent[MAXTCENT];
-
-char *
-get_termcap(id)
- char *id;
-{
- register int i;
- char *cp;
- static char tcbuf[1024];
- static char *tcptr = tcbuf;
-
- for (i = 0; i < nTCent; ++i)
- if (strcmp(TCid[i], id) == 0)
- return (TCent[i]);
-
- if (nTCent >= MAXTCENT)
- return ("");
-
- TCid[nTCent] = getcpy(id);
-
- if (TCinited == 0)
- read_termcap();
-
- if (!TCavailable)
- return ("");
-
- cp = tgetstr(id, &tcptr);
- if (cp == 0) {
- /* check for some alternates for the entry */
- if (strcmp(id, "mb") == 0 ||
- strcmp(id, "md") == 0 ||
- strcmp(id, "mh") == 0 ||
- strcmp(id, "mr") == 0 ||
- strcmp(id, "us") == 0)
- id = "so";
- else if (strcmp(id, "me") == 0 ||
- strcmp(id, "ue") == 0)
- id = "se";
- cp = tgetstr(id, &tcptr);
- if (cp == 0)
- cp = "";
- }
-
- /* skip leading delay spec */
- while (isdigit(*cp))
- ++cp;
- if (*cp == '.')
- if (isdigit(*++cp))
- ++cp;
- if (*cp == '*')
- ++cp;
-
- TCent[nTCent] = cp;
- ++nTCent;
- return (cp);
-}
diff --git a/docs/historical/mh-6.8.5/local/lbl/uip/m_getfld.c
b/docs/historical/mh-6.8.5/local/lbl/uip/m_getfld.c
deleted file mode 120000
index 6feb0bf..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/uip/m_getfld.c
+++ /dev/null
@@ -1 +0,0 @@
-../sbr/m_getfld.c
\ No newline at end of file
diff --git a/docs/historical/mh-6.8.5/local/lbl/uip/version.c
b/docs/historical/mh-6.8.5/local/lbl/uip/version.c
deleted file mode 100644
index 86ef53f..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/uip/version.c
+++ /dev/null
@@ -1 +0,0 @@
-char *version = "LBL MH 6.5.1 (ace.ee.lbl.gov) of Wed Sep 18 13:06:31 PDT
1991";
diff --git a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws.h
b/docs/historical/mh-6.8.5/local/lbl/zotnet/tws.h
deleted file mode 120000
index d2dba12..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws.h
+++ /dev/null
@@ -1 +0,0 @@
-tws/tws.h
\ No newline at end of file
diff --git a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtest
b/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtest
deleted file mode 100755
index 675b1d6..0000000
Binary files a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtest and
/dev/null differ
diff --git a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.c
b/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.c
deleted file mode 100644
index d47d5a2..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.c
+++ /dev/null
@@ -1,1643 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* scanner skeleton version:
- * $Header: flex.skel,v 1.2 90/06/27 22:56:49 leres Exp $
- */
-
-#define FLEX_SCANNER
-
-#include <stdio.h>
-
-#ifdef __STDC__
-
-#ifndef DONT_HAVE_STDLIB_H
-#include <stdlib.h>
-#else
-void *malloc( unsigned );
-void free( void* );
-#endif
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-#endif
-
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#ifndef __STDC__
-#include <stdlib.h>
-#endif
-
-#include <osfcn.h>
-
-/* use prototypes in function declarations */
-#define YY_USE_PROTOS
-
-/* the "const" storage-class-modifier is valid */
-#define YY_USE_CONST
-
-#endif
-
-
-#ifdef __TURBOC__
-#define YY_USE_CONST
-#endif
-
-
-#ifndef YY_USE_CONST
-#define const
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-/* there's no standard place to get these definitions */
-char *malloc();
-int free();
-int read();
-#endif
-
-
-/* amount of stuff to slurp up with each read */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* returned upon end-of-file */
-#define YY_END_TOK 0
-
-/* copy whatever the last rule matched to the standard output */
-
-/* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
-/* this used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite()
- */
-#define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
-
-/* gets input and stuffs it into "buf". number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#define YY_INPUT(buf,result,max_size) \
- if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
- YY_FATAL_ERROR( "read() in flex scanner failed" );
-#define YY_NULL 0
-
-/* no semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#define yyterminate() return ( YY_NULL )
-
-/* report a fatal error */
-
-/* The funky do-while is used to turn this macro definition into
- * a single C statement (which needs a semi-colon terminator).
- * This avoids problems with code like:
- *
- * if ( something_happens )
- * YY_FATAL_ERROR( "oops, the something happened" );
- * else
- * everything_okay();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the YY_FATAL_ERROR() call.
- */
-
-#define YY_FATAL_ERROR(msg) \
- do \
- { \
- (void) fputs( msg, stderr ); \
- (void) putc( '\n', stderr ); \
- exit( 1 ); \
- } \
- while ( 0 )
-
-/* default yywrap function - always treat EOF as an EOF */
-#define yywrap() 1
-
-/* enter a start condition. This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* action number for EOF rule of a given start state */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* special action meaning "start processing a new file" */
-#define YY_NEW_FILE \
- do \
- { \
- yy_init_buffer( yy_current_buffer, yyin ); \
- yy_load_buffer_state(); \
- } \
- while ( 0 )
-
-/* default declaration of generated scanner - a define so the user can
- * easily add parameters
- */
-#define YY_DECL int yylex YY_PROTO(( void ))
-
-/* code executed at the end of each rule */
-#define YY_BREAK break;
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
-#endif
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-#define YY_CHAR char
-#define INITIAL 0
-#ifndef lint
-static char rcsid[] =
-#ifdef FLEX_SCANNER
- "@(#) $Header: dtimep.lex,v 1.15 90/10/16 14:57:20 leres Locked $ (LBL)
(flex generated scanner)";
-#else
- "@(#) $Header: dtimep.lex,v 1.15 90/10/16 14:57:20 leres Locked $ (LBL)
(lex generated scanner)";
-#endif
-#endif
-/*
-%e 2000
-%p 5000
-%n 1000
-%a 4000
- */
-#define Z 1
-#include "tws.h"
-#include <ctype.h>
-
-/*
- * Patchable flag that says how to interpret NN/NN/NN dates. When
- * true, we do it European style: DD/MM/YY. When false, we do it
- * American style: MM/DD/YY.
- */
-int europeandate = 0;
-
-/*
- * Table to convert month names to numeric month. We use the
- * fact that the low order 5 bits of the sum of the 2nd & 3rd
- * characters of the name is a hash with no collisions for the 12
- * valid month names. (The mask to 5 bits maps any combination of
- * upper and lower case into the same hash value).
- */
-static int month_map[] = {
- 0,
- 6, /* 1 - Jul */
- 3, /* 2 - Apr */
- 5, /* 3 - Jun */
- 0,
- 10, /* 5 - Nov */
- 0,
- 1, /* 7 - Feb */
- 11, /* 8 - Dec */
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0, /*15 - Jan */
- 0,
- 0,
- 0,
- 2, /*19 - Mar */
- 0,
- 8, /*21 - Sep */
- 0,
- 9, /*23 - Oct */
- 0,
- 0,
- 4, /*26 - May */
- 0,
- 7 /*28 - Aug */
-};
-/*
- * Same trick for day-of-week using the hash function
- * (c1 & 7) + (c2 & 4)
- */
-static int day_map[] = {
- 0,
- 0,
- 0,
- 6, /* 3 - Sat */
- 4, /* 4 - Thu */
- 0,
- 5, /* 6 - Fri */
- 0, /* 7 - Sun */
- 2, /* 8 - Tue */
- 1 /* 9 - Mon */,
- 0,
- 3 /*11 - Wed */
-};
-#define SETDAY { tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\
- tw.tw_flags &= ~TW_SDAY; tw.tw_flags |= TW_SEXP;\
- cp += 2; }
-#define SETMONTH { tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\
- cp += 2;\
- SKIPD;}
-#define CVT2 (i=(*cp++ - '0'),isdigit(*cp)? i*10 + (*cp++ - '0') : i)
-#define SKIPD { while ( !isdigit(*cp++) ) ; --cp; }
-#define EXPZONE { tw.tw_flags &= ~TW_SZONE; tw.tw_flags |= TW_SZEXP; }
-#define ZONE(x) { tw.tw_zone=(x); EXPZONE; }
-#define ZONED(x) { ZONE(x); tw.tw_flags |= TW_DST; }
-#define LC(c) (isupper(c) ? tolower(c) : (c))
-
-#ifdef FLEX_SCANNER
-/* We get passed a string and return a pointer to a static tws struct */
-#undef YY_DECL
-#define YY_DECL struct tws *dparsetime(str) char *str;
-
-/* We assume that we're never passed more than max_size characters */
-#undef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
- if (gstr) { \
- register char *xp; \
- xp = gstr; \
- while (isspace(*xp)) \
- xp++; \
- gstr = xp; \
- while (*xp != '\0') \
- ++xp; \
- result = xp - gstr; \
- bcopy(gstr, buf, result); \
- gstr = 0; \
- } else \
- result = YY_NULL;
-
-/* Date strings aren't usually very long */
-#undef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 128
-
-/* Use mh error reporting routine */
-#undef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(s) adios("dparsetime()", s);
-
-/* We need a pointer to the matched text we can modify */
-#undef YY_USER_ACTION
-#define YY_USER_ACTION cp = yytext
-
-/* Used to initialize */
-static struct tws ztw = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-
-/* Global for use by YY_INPUT() macro */
-static char *gstr;
-#endif
-
-
-/* done after the current pattern has been matched and before the
- * corresponding action - sets up yytext
- */
-#define YY_DO_BEFORE_ACTION \
- yytext = yy_bp; \
- yyleng = yy_cp - yy_bp; \
- yy_hold_char = *yy_cp; \
- *yy_cp = '\0'; \
- yy_c_buf_p = yy_cp;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* return all but the first 'n' matched characters back to the input stream */
-#define yyless(n) \
- do \
- { \
- /* undo effects of setting up yytext */ \
- *yy_cp = yy_hold_char; \
- yy_c_buf_p = yy_cp = yy_bp + n; \
- YY_DO_BEFORE_ACTION; /* set up yytext again */ \
- } \
- while ( 0 )
-
-#define unput(c) yyunput( c, yytext )
-
-
-struct yy_buffer_state
- {
- FILE *yy_input_file;
-
- YY_CHAR *yy_ch_buf; /* input buffer */
- YY_CHAR *yy_buf_pos; /* current position in input buffer */
-
- /* size of input buffer in bytes, not including room for EOB characters*/
- int yy_buf_size;
-
- /* number of characters read into yy_ch_buf, not including EOB characters
*/
- int yy_n_chars;
-
- int yy_eof_status; /* whether we've seen an EOF on this buffer */
-#define EOF_NOT_SEEN 0
- /* "pending" happens when the EOF has been seen but there's still
- * some text process
- */
-#define EOF_PENDING 1
-#define EOF_DONE 2
- };
-
-static YY_BUFFER_STATE yy_current_buffer;
-
-/* we provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state"
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed */
-static YY_CHAR yy_hold_char;
-
-static int yy_n_chars; /* number of characters read into yy_ch_buf */
-
-
-
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-#ifndef YY_USER_INIT
-#define YY_USER_INIT
-#endif
-
-extern YY_CHAR *yytext;
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-YY_CHAR *yytext;
-int yyleng;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-#define YY_END_OF_BUFFER 44
-typedef int yy_state_type;
-static const short int yy_accept[390] =
- { 0,
- 0, 0, 0, 0, 44, 42, 40, 39, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 42, 35, 35, 36, 36, 36, 36,
- 36, 36, 36, 36, 36, 40, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 8, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
- 0, 0, 1, 0, 1, 1, 1, 1, 0, 0,
- 28, 27, 33, 21, 20, 19, 18, 15, 32, 31,
- 17, 16, 23, 22, 26, 25, 24, 30, 29, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 13, 8,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 7, 9, 10, 0, 0, 4, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12, 6, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 37, 38,
- 2, 0, 0, 0, 0, 0, 0, 0, 3, 3,
- 11, 7, 7, 9, 10, 0, 4, 4, 4, 0,
-
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 6, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 11, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 0, 0, 0, 0, 0, 4,
- 0, 0, 0, 0, 0, 5, 5, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 5, 5, 0, 1, 0, 0, 0
- } ;
-
-static const YY_CHAR yy_ec[128] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 1, 1, 1, 1, 1, 1, 1, 4,
- 5, 1, 6, 7, 8, 1, 9, 10, 11, 12,
- 13, 13, 13, 14, 14, 14, 15, 16, 1, 1,
- 1, 1, 1, 1, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 33, 40, 1,
- 1, 1, 1, 1, 1, 1, 17, 18, 19, 20,
-
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 33,
- 40, 1, 1, 1, 1, 1, 1
- } ;
-
-static const YY_CHAR yy_meta[41] =
- { 0,
- 1, 2, 1, 1, 1, 1, 3, 1, 4, 5,
- 5, 5, 5, 5, 5, 6, 7, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 6, 1, 1, 1, 1, 1, 1, 1, 1
- } ;
-
-static const short int yy_base[413] =
- { 0,
- 0, 0, 40, 0, 637, 638, 634, 638, 59, 97,
- 620, 72, 59, 613, 68, 83, 73, 602, 613, 101,
- 79, 610, 82, 129, 125, 595, 95, 608, 101, 103,
- 599, 109, 638, 114, 638, 147, 66, 608, 121, 638,
- 151, 139, 590, 604, 145, 622, 589, 591, 137, 146,
- 600, 187, 169, 0, 186, 0, 147, 599, 598, 156,
- 601, 586, 597, 594, 128, 176, 580, 590, 593, 593,
- 585, 579, 105, 141, 578, 569, 570, 569, 572, 573,
- 565, 580, 580, 0, 0, 167, 564, 170, 171, 569,
- 188, 190, 191, 562, 192, 560, 194, 559, 558, 557,
-
- 556, 555, 554, 553, 552, 551, 550, 549, 548, 547,
- 546, 545, 544, 543, 638, 542, 541, 551, 545, 538,
- 543, 535, 550, 550, 0, 560, 0, 217, 534, 544,
- 547, 547, 534, 200, 181, 525, 526, 529, 0, 218,
- 201, 229, 222, 233, 230, 234, 237, 235, 558, 239,
- 240, 242, 245, 243, 255, 253, 261, 262, 0, 0,
- 638, 638, 638, 638, 638, 638, 638, 638, 638, 638,
- 638, 638, 638, 638, 638, 638, 638, 638, 638, 246,
- 260, 265, 266, 243, 271, 267, 548, 549, 555, 276,
- 282, 0, 527, 526, 313, 258, 260, 266, 517, 264,
-
- 532, 269, 531, 530, 282, 273, 548, 547, 520, 512,
- 517, 508, 542, 541, 525, 524, 538, 537, 514, 520,
- 507, 517, 500, 512, 515, 496, 510, 508, 0, 0,
- 521, 510, 509, 491, 507, 488, 502, 500, 0, 505,
- 517, 0, 516, 515, 514, 494, 308, 305, 328, 486,
- 478, 483, 474, 493, 488, 487, 483, 477, 487, 483,
- 501, 329, 500, 465, 482, 482, 458, 463, 494, 455,
- 476, 472, 472, 462, 450, 469, 471, 452, 638, 638,
- 638, 446, 445, 464, 443, 462, 464, 445, 477, 476,
- 475, 474, 473, 472, 471, 0, 330, 470, 332, 435,
-
- 339, 449, 433, 450, 450, 432, 444, 446, 442, 433,
- 459, 458, 346, 457, 437, 423, 350, 416, 352, 434,
- 420, 436, 434, 353, 434, 410, 429, 443, 442, 429,
- 440, 427, 403, 422, 439, 438, 437, 436, 416, 415,
- 401, 394, 412, 398, 413, 309, 396, 389, 394, 425,
- 386, 404, 384, 356, 406, 382, 381, 415, 402, 416,
- 383, 376, 381, 393, 392, 410, 303, 409, 408, 407,
- 359, 374, 360, 366, 400, 397, 361, 377, 373, 371,
- 354, 385, 382, 381, 378, 362, 374, 353, 638, 368,
- 363, 360, 346, 366, 339, 370, 337, 335, 328, 314,
-
- 376, 312, 380, 284, 189, 181, 120, 384, 388, 394,
- 398, 402
- } ;
-
-static const short int yy_def[413] =
- { 0,
- 389, 1, 389, 3, 389, 389, 389, 389, 389, 389,
- 10, 10, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 52, 390, 10, 391, 389, 389, 389, 389,
- 389, 389, 389, 389, 55, 52, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 392, 393, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
-
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 53, 394, 395, 396, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 397, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 398, 399,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 400, 389, 401, 389,
- 389, 402, 389, 389, 389, 195, 195, 195, 196, 196,
-
- 197, 197, 197, 197, 197, 197, 401, 403, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 404, 405,
- 389, 389, 389, 389, 389, 389, 389, 389, 406, 406,
- 389, 407, 408, 389, 389, 197, 197, 409, 409, 389,
- 389, 389, 389, 389, 197, 197, 389, 389, 389, 389,
- 389, 410, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 400,
- 389, 389, 389, 389, 389, 247, 389, 389, 389, 389,
-
- 247, 197, 389, 389, 389, 389, 197, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 197, 389,
- 389, 389, 389, 389, 389, 411, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 197, 389, 412, 412, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 197, 197, 197,
- 389, 389, 389, 411, 389, 389, 389, 197, 0, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
-
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389
- } ;
-
-static const short int yy_nxt[679] =
- { 0,
- 6, 7, 8, 9, 6, 6, 6, 6, 6, 10,
- 11, 10, 12, 12, 12, 6, 13, 6, 6, 14,
- 6, 15, 6, 6, 6, 16, 6, 6, 17, 18,
- 19, 6, 6, 6, 20, 21, 6, 6, 22, 6,
- 6, 7, 8, 9, 6, 23, 6, 24, 6, 10,
- 11, 10, 12, 12, 12, 6, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 35, 36, 37,
- 38, 39, 40, 40, 41, 42, 43, 40, 44, 45,
- 47, 66, 66, 66, 66, 66, 66, 48, 70, 74,
- 67, 84, 84, 49, 50, 68, 76, 51, 52, 72,
-
- 112, 71, 81, 75, 53, 54, 55, 55, 55, 55,
- 55, 55, 56, 57, 101, 82, 58, 78, 59, 73,
- 103, 79, 60, 70, 291, 61, 62, 63, 106, 102,
- 72, 64, 146, 108, 147, 104, 71, 80, 85, 85,
- 113, 139, 139, 107, 98, 86, 87, 88, 109, 89,
- 73, 90, 91, 120, 92, 114, 67, 93, 94, 99,
- 95, 68, 81, 74, 116, 96, 110, 78, 97, 122,
- 125, 79, 133, 121, 148, 82, 389, 75, 129, 117,
- 149, 111, 123, 130, 54, 289, 98, 80, 52, 101,
- 103, 56, 134, 280, 53, 127, 127, 127, 127, 127,
-
- 127, 99, 208, 57, 102, 104, 58, 106, 59, 108,
- 110, 113, 60, 116, 202, 61, 62, 63, 190, 208,
- 203, 64, 107, 208, 109, 111, 114, 200, 117, 201,
- 208, 208, 192, 193, 213, 208, 208, 210, 208, 214,
- 213, 208, 209, 208, 208, 214, 213, 231, 194, 211,
- 231, 214, 215, 219, 213, 212, 213, 218, 220, 214,
- 221, 214, 213, 213, 231, 232, 216, 214, 214, 231,
- 231, 231, 222, 217, 225, 231, 236, 190, 224, 233,
- 252, 223, 389, 190, 389, 235, 226, 257, 279, 389,
- 389, 228, 193, 389, 251, 227, 238, 192, 193, 253,
-
- 389, 234, 389, 255, 382, 237, 297, 194, 260, 296,
- 346, 298, 259, 194, 246, 389, 243, 384, 239, 367,
- 247, 300, 248, 249, 248, 248, 248, 248, 389, 297,
- 311, 297, 230, 297, 298, 312, 298, 250, 298, 229,
- 297, 207, 301, 189, 300, 298, 300, 311, 300, 248,
- 160, 213, 312, 213, 213, 300, 214, 213, 214, 214,
- 213, 213, 214, 213, 159, 214, 214, 128, 214, 188,
- 188, 191, 126, 389, 191, 191, 191, 242, 231, 208,
- 242, 262, 382, 382, 262, 293, 382, 388, 293, 299,
- 299, 389, 299, 389, 299, 313, 313, 389, 313, 366,
-
- 387, 231, 366, 383, 231, 386, 383, 385, 208, 208,
- 208, 382, 381, 389, 380, 379, 378, 360, 377, 231,
- 376, 375, 374, 373, 372, 371, 208, 370, 369, 368,
- 365, 364, 363, 203, 362, 361, 389, 360, 337, 336,
- 335, 359, 358, 357, 231, 356, 231, 231, 355, 354,
- 353, 352, 351, 350, 349, 149, 348, 347, 208, 346,
- 311, 345, 344, 343, 389, 342, 341, 340, 339, 389,
- 338, 337, 295, 294, 292, 292, 336, 335, 335, 334,
- 333, 332, 331, 330, 329, 328, 327, 326, 325, 324,
- 323, 322, 321, 320, 319, 208, 318, 317, 316, 315,
-
- 314, 208, 261, 310, 309, 308, 307, 389, 389, 306,
- 305, 304, 303, 302, 389, 295, 294, 292, 241, 290,
- 288, 287, 286, 285, 284, 283, 282, 281, 278, 277,
- 276, 275, 274, 273, 272, 271, 270, 269, 208, 208,
- 268, 267, 213, 213, 266, 265, 264, 263, 208, 261,
- 258, 389, 256, 254, 245, 244, 241, 187, 240, 208,
- 206, 205, 204, 199, 198, 197, 196, 195, 187, 186,
- 185, 184, 183, 182, 181, 180, 179, 178, 177, 176,
- 175, 174, 173, 172, 171, 170, 169, 168, 167, 166,
- 165, 164, 163, 162, 161, 115, 112, 105, 100, 158,
-
- 157, 156, 155, 154, 153, 152, 151, 150, 145, 144,
- 143, 142, 141, 140, 138, 137, 136, 135, 132, 131,
- 124, 119, 118, 46, 83, 115, 77, 105, 69, 100,
- 83, 77, 76, 69, 65, 46, 389, 5, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389
- } ;
-
-static const short int yy_chk[679] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 9, 12, 12, 12, 12, 12, 12, 9, 15, 17,
- 13, 23, 23, 9, 9, 13, 37, 9, 10, 16,
-
- 37, 15, 21, 17, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 27, 21, 10, 20, 10, 16,
- 29, 20, 10, 30, 407, 10, 10, 10, 32, 27,
- 34, 10, 73, 34, 73, 29, 30, 20, 24, 24,
- 39, 65, 65, 32, 25, 24, 24, 24, 34, 24,
- 34, 24, 24, 49, 24, 39, 25, 24, 24, 25,
- 24, 25, 42, 36, 45, 24, 36, 41, 24, 50,
- 53, 41, 60, 49, 74, 42, 53, 36, 57, 45,
- 74, 36, 50, 57, 66, 406, 86, 41, 52, 88,
- 89, 66, 60, 405, 52, 55, 55, 55, 55, 55,
-
- 55, 86, 141, 52, 88, 89, 52, 91, 52, 92,
- 93, 95, 52, 97, 135, 52, 52, 52, 128, 140,
- 135, 52, 91, 143, 92, 93, 95, 134, 97, 134,
- 142, 145, 128, 128, 144, 146, 148, 141, 147, 144,
- 150, 151, 140, 152, 154, 150, 153, 184, 128, 142,
- 180, 153, 144, 148, 156, 143, 155, 147, 150, 156,
- 151, 155, 157, 158, 181, 180, 145, 157, 158, 182,
- 183, 186, 152, 146, 155, 185, 184, 190, 154, 181,
- 197, 153, 196, 191, 197, 183, 156, 202, 404, 202,
- 198, 158, 190, 206, 196, 157, 186, 191, 191, 198,
-
- 200, 182, 205, 200, 367, 185, 248, 190, 206, 247,
- 346, 248, 205, 191, 195, 247, 402, 367, 400, 346,
- 195, 248, 195, 195, 195, 195, 195, 195, 247, 249,
- 262, 297, 399, 299, 249, 262, 297, 195, 299, 398,
- 301, 397, 249, 395, 249, 301, 297, 313, 299, 301,
- 393, 317, 313, 319, 324, 301, 317, 354, 319, 324,
- 371, 373, 354, 386, 392, 371, 373, 391, 386, 394,
- 394, 396, 390, 388, 396, 396, 396, 401, 387, 385,
- 401, 403, 384, 383, 403, 408, 382, 381, 408, 409,
- 409, 380, 409, 379, 409, 410, 410, 378, 410, 411,
-
- 377, 376, 411, 412, 375, 374, 412, 372, 370, 369,
- 368, 366, 365, 364, 363, 362, 361, 360, 359, 358,
- 357, 356, 355, 353, 352, 351, 350, 349, 348, 347,
- 345, 344, 343, 342, 341, 340, 339, 338, 337, 336,
- 335, 334, 333, 332, 331, 330, 329, 328, 327, 326,
- 325, 323, 322, 321, 320, 318, 316, 315, 314, 312,
- 311, 310, 309, 308, 307, 306, 305, 304, 303, 302,
- 300, 298, 295, 294, 293, 292, 291, 290, 289, 288,
- 287, 286, 285, 284, 283, 282, 278, 277, 276, 275,
- 274, 273, 272, 271, 270, 269, 268, 267, 266, 265,
-
- 264, 263, 261, 260, 259, 258, 257, 256, 255, 254,
- 253, 252, 251, 250, 246, 245, 244, 243, 241, 240,
- 238, 237, 236, 235, 234, 233, 232, 231, 228, 227,
- 226, 225, 224, 223, 222, 221, 220, 219, 218, 217,
- 216, 215, 214, 213, 212, 211, 210, 209, 208, 207,
- 204, 203, 201, 199, 194, 193, 189, 188, 187, 149,
- 138, 137, 136, 133, 132, 131, 130, 129, 126, 124,
- 123, 122, 121, 120, 119, 118, 117, 116, 114, 113,
- 112, 111, 110, 109, 108, 107, 106, 105, 104, 103,
- 102, 101, 100, 99, 98, 96, 94, 90, 87, 83,
-
- 82, 81, 80, 79, 78, 77, 76, 75, 72, 71,
- 70, 69, 68, 67, 64, 63, 62, 61, 59, 58,
- 51, 48, 47, 46, 44, 43, 38, 31, 28, 26,
- 22, 19, 18, 14, 11, 7, 5, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389
- } ;
-
-static yy_state_type yy_last_accepting_state;
-static YY_CHAR *yy_last_accepting_cpos;
-
-/* the intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-
-/* these variables are all declared out here so that section 3 code can
- * manipulate them
- */
-/* points to current character in buffer */
-static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
-static int yy_init = 1; /* whether we need to initialize */
-static int yy_start = 0; /* start state number */
-
-/* flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin. A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state
));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
-void yyrestart YY_PROTO(( FILE *input_file ));
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-
-#define yy_new_buffer yy_create_buffer
-
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-
-YY_DECL
- {
- register yy_state_type yy_current_state;
- register YY_CHAR *yy_cp, *yy_bp;
- register int yy_act;
-
-
- register int i, gotdate;
- register char *cp;
- static struct tws tw;
- static void zonehack();
-
- BEGIN(INITIAL);
- yy_init = 1;
- tw = ztw;
- gstr = str;
- gotdate = 0;
-
-
- if ( yy_init )
- {
- YY_USER_INIT;
-
- if ( ! yy_start )
- yy_start = 1; /* first start state */
-
- if ( ! yyin )
- yyin = stdin;
-
- if ( ! yyout )
- yyout = stdout;
-
- if ( yy_current_buffer )
- yy_init_buffer( yy_current_buffer, yyin );
- else
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
- yy_load_buffer_state();
-
- yy_init = 0;
- }
-
- while ( 1 ) /* loops until end-of-file is reached */
- {
- yy_cp = yy_c_buf_p;
-
- /* support of yytext */
- *yy_cp = yy_hold_char;
-
- /* yy_bp points to the position in yy_ch_buf of the start of the
- * current run.
- */
- yy_bp = yy_cp;
-
- yy_current_state = yy_start;
-yy_match:
- do
- {
- register YY_CHAR yy_c = yy_ec[*yy_cp];
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
yy_current_state )
- {
- yy_current_state = yy_def[yy_current_state];
- if ( yy_current_state >= 390 )
- yy_c = yy_meta[yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- ++yy_cp;
- }
- while ( yy_current_state != 389 );
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
-
-yy_find_action:
- yy_act = yy_accept[yy_current_state];
-
- YY_DO_BEFORE_ACTION;
- YY_USER_ACTION;
-
-do_action: /* this label is used only to access EOF actions */
-
-
- switch ( yy_act )
- {
- case 0: /* must backtrack */
- /* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
- goto yy_find_action;
-
-case 1:
-SETDAY;
- YY_BREAK
-case 2:
-{
- cp++;
- SETDAY;
- }
- YY_BREAK
-case 3:
-{
- if (europeandate) {
- /* European: DD/MM/YY */
- tw.tw_mday = CVT2;
- cp++;
- tw.tw_mon = CVT2 - 1;
- } else {
- /* American: MM/DD/YY */
- tw.tw_mon = CVT2 - 1;
- cp++;
- tw.tw_mday = CVT2;
- }
- cp++;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i % 100;
- gotdate++;
- }
- YY_BREAK
-case 4:
-{
- tw.tw_mday = CVT2;
- while (!isalpha(*cp++))
- ;
- SETMONTH;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i % 100;
- }
- YY_BREAK
-case 5:
-{
- cp++;
- SETMONTH;
- tw.tw_mday = CVT2;
- SKIPD;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i % 100;
- }
- YY_BREAK
-case 6:
-{
- cp++;
- SETMONTH;
- tw.tw_mday = CVT2;
- }
- YY_BREAK
-case 7:
-{
- tw.tw_hour = CVT2; cp++;
- tw.tw_min = CVT2; cp++;
- tw.tw_sec = CVT2;
- BEGIN Z;
- }
- YY_BREAK
-case 8:
-{
- tw.tw_hour = CVT2; cp++;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
- YY_BREAK
-case 9:
-{
- tw.tw_hour = CVT2; cp++;
- if (tw.tw_hour == 12)
- tw.tw_hour = 0;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
- YY_BREAK
-case 10:
-{
- tw.tw_hour = CVT2; cp++;
- if (tw.tw_hour != 12)
- tw.tw_hour += 12;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
- YY_BREAK
-case 11:
-{
- tw.tw_hour = CVT2;
- tw.tw_min = CVT2;
- tw.tw_sec = CVT2;
- BEGIN Z;
- }
- YY_BREAK
-case 12:
-{
- /*
- * Luckly, 4 digit times in the range
- * 1960-1999 aren't legal as hour
- * and minutes. This rule must come
- * the 4 digit hour and minute rule.
- */
- cp += 2;
- tw.tw_year = CVT2;
- }
- YY_BREAK
-case 13:
-{
- tw.tw_hour = CVT2;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
- YY_BREAK
-case 14:
-ZONE(0 * 60);
- YY_BREAK
-case 15:
-ZONE(0 * 60);
- YY_BREAK
-case 16:
-ZONE(2 * 60);
- YY_BREAK
-case 17:
-ZONED(2 * 60);
- YY_BREAK
-case 18:
-ZONE(-5 * 60);
- YY_BREAK
-case 19:
-ZONED(-5 * 60);
- YY_BREAK
-case 20:
-ZONE(-6 * 60);
- YY_BREAK
-case 21:
-ZONED(-6 * 60);
- YY_BREAK
-case 22:
-ZONE(-7 * 60);
- YY_BREAK
-case 23:
-ZONED(-7 * 60);
- YY_BREAK
-case 24:
-ZONE(-8 * 60);
- YY_BREAK
-case 25:
-ZONED(-8 * 60);
- YY_BREAK
-case 26:
-ZONE(-(3 * 60 + 30));
- YY_BREAK
-case 27:
-ZONE(-4 * 60);
- YY_BREAK
-case 28:
-ZONED(-4 * 60);
- YY_BREAK
-case 29:
-ZONE(-9 * 60);
- YY_BREAK
-case 30:
-ZONED(-9 * 60);
- YY_BREAK
-case 31:
-ZONE(-10 * 60);
- YY_BREAK
-case 32:
-ZONED(-10 * 60);
- YY_BREAK
-case 33:
-ZONED(-1 * 60);
- YY_BREAK
-case 34:
-{
- tw.tw_zone = 60 * (('a'-1) - LC(*cp));
- EXPZONE;
- }
- YY_BREAK
-case 35:
-{
- tw.tw_zone = 60 * ('a' - LC(*cp));
- EXPZONE;
- }
- YY_BREAK
-case 36:
-{
- tw.tw_zone = 60 * (LC(*cp) - 'm');
- EXPZONE;
- }
- YY_BREAK
-case 37:
-{
- cp++;
- tw.tw_zone = ((cp[0] * 10 + cp[1])
- -('0' * 10 + '0'))*60
- +((cp[2] * 10 + cp[3])
- -('0' * 10 + '0'));
-#ifdef DSTXXX
- zonehack (&tw);
-#endif DSTXXX
- cp += 4;
- EXPZONE;
- }
- YY_BREAK
-case 38:
-{
- cp++;
- tw.tw_zone = (('0' * 10 + '0')
- -(cp[0] * 10 + cp[1]))*60
- +(('0' * 10 + '0')
- -(cp[2] * 10 + cp[3]));
-#ifdef DSTXXX
- zonehack (&tw);
-#endif DSTXXX
- cp += 4;
- EXPZONE;
- }
- YY_BREAK
-case 39:
-case 40:
-;
- YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(Z):
-return(&tw);
- YY_BREAK
-case 42:
-{
- /*
- * We jammed; it's an error if we
- * didn't parse anything.
- */
- if (!gotdate || tw.tw_year == 0)
- return(0);
- return(&tw);
- }
- YY_BREAK
-case 43:
-YY_FATAL_ERROR( "flex scanner jammed" );
- YY_BREAK
-
- case YY_END_OF_BUFFER:
- {
- /* amount of text matched not including the EOB char */
- int yy_amount_of_matched_text = yy_cp - yytext - 1;
-
- /* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
-
- /* note that here we test for yy_c_buf_p "<=" to the position
- * of the first EOB in the buffer, since yy_c_buf_p will
- * already have been incremented past the NUL character
- * (since all states make transitions on EOB to the end-
- * of-buffer state). Contrast this with the test in yyinput().
- */
- if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- /* this was really a NUL */
- {
- yy_state_type yy_next_state;
-
- yy_c_buf_p = yytext + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- /* okay, we're now positioned to make the
- * NUL transition. We couldn't have
- * yy_get_previous_state() go ahead and do it
- * for us because it doesn't know how to deal
- * with the possibility of jamming (and we
- * don't want to build jamming into it because
- * then it will run more slowly)
- */
-
- yy_next_state = yy_try_NUL_trans( yy_current_state );
-
- yy_bp = yytext + YY_MORE_ADJ;
-
- if ( yy_next_state )
- {
- /* consume the NUL */
- yy_cp = ++yy_c_buf_p;
- yy_current_state = yy_next_state;
- goto yy_match;
- }
-
- else
- {
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
- goto yy_find_action;
- }
- }
-
- else switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_END_OF_FILE:
- {
- yy_did_buffer_switch_on_eof = 0;
-
- if ( yywrap() )
- {
- /* note: because we've taken care in
- * yy_get_next_buffer() to have set up yytext,
- * we can now set up yy_c_buf_p so that if some
- * total hoser (like flex itself) wants
- * to call the scanner after we return the
- * YY_NULL, it'll still work - another YY_NULL
- * will get returned.
- */
- yy_c_buf_p = yytext + YY_MORE_ADJ;
-
- yy_act = YY_STATE_EOF((yy_start - 1) / 2);
- goto do_action;
- }
-
- else
- {
- if ( ! yy_did_buffer_switch_on_eof )
- YY_NEW_FILE;
- }
- }
- break;
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext + YY_MORE_ADJ;
- goto yy_match;
-
- case EOB_ACT_LAST_MATCH:
- yy_c_buf_p =
- &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext + YY_MORE_ADJ;
- goto yy_find_action;
- }
- break;
- }
-
- default:
-#ifdef FLEX_DEBUG
- printf( "action # %d\n", yy_act );
-#endif
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--no action found" );
- }
- }
- }
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * synopsis
- * int yy_get_next_buffer();
- *
- * returns a code representing an action
- * EOB_ACT_LAST_MATCH -
- * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- * EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
-
- {
- register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
- register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
- register int number_to_move, i;
- int ret_val;
-
- if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--end of buffer missed" );
-
- /* try to read more data */
-
- /* first move last chars to start of buffer */
- number_to_move = yy_c_buf_p - yytext;
-
- for ( i = 0; i < number_to_move; ++i )
- *(dest++) = *(source++);
-
- if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
- /* don't do the read, it's not guaranteed to return an EOF,
- * just force an EOF
- */
- yy_n_chars = 0;
-
- else
- {
- int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
-
- if ( num_to_read > YY_READ_BUF_SIZE )
- num_to_read = YY_READ_BUF_SIZE;
-
- else if ( num_to_read <= 0 )
- YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
-
- /* read in more data */
- YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
- yy_n_chars, num_to_read );
- }
-
- if ( yy_n_chars == 0 )
- {
- if ( number_to_move == 1 )
- {
- ret_val = EOB_ACT_END_OF_FILE;
- yy_current_buffer->yy_eof_status = EOF_DONE;
- }
-
- else
- {
- ret_val = EOB_ACT_LAST_MATCH;
- yy_current_buffer->yy_eof_status = EOF_PENDING;
- }
- }
-
- else
- ret_val = EOB_ACT_CONTINUE_SCAN;
-
- yy_n_chars += number_to_move;
- yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
- yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
- /* yytext begins at the second character in yy_ch_buf; the first
- * character is the one which preceded it before reading in the latest
- * buffer; it needs to be kept around in case it's a newline, so
- * yy_get_previous_state() will have with '^' rules active
- */
-
- yytext = &yy_current_buffer->yy_ch_buf[1];
-
- return ( ret_val );
- }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached
- *
- * synopsis
- * yy_state_type yy_get_previous_state();
- */
-
-static yy_state_type yy_get_previous_state()
-
- {
- register yy_state_type yy_current_state;
- register YY_CHAR *yy_cp;
-
- yy_current_state = yy_start;
-
- for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
- {
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[*yy_cp] : 1);
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = yy_def[yy_current_state];
- if ( yy_current_state >= 390 )
- yy_c = yy_meta[yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- }
-
- return ( yy_current_state );
- }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- * next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( register yy_state_type yy_current_state
)
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-register yy_state_type yy_current_state;
-#endif
-
- {
- register int yy_is_jam;
- register YY_CHAR *yy_cp = yy_c_buf_p;
-
- register YY_CHAR yy_c = 1;
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = yy_def[yy_current_state];
- if ( yy_current_state >= 390 )
- yy_c = yy_meta[yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 389);
-
- return ( yy_is_jam ? 0 : yy_current_state );
- }
-
-
-#ifdef YY_USE_PROTOS
-static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-YY_CHAR c;
-register YY_CHAR *yy_bp;
-#endif
-
- {
- register YY_CHAR *yy_cp = yy_c_buf_p;
-
- /* undo effects of setting up yytext */
- *yy_cp = yy_hold_char;
-
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
- { /* need to shift things up to make room */
- register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
- register YY_CHAR *dest =
- &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
- register YY_CHAR *source =
- &yy_current_buffer->yy_ch_buf[number_to_move];
-
- while ( source > yy_current_buffer->yy_ch_buf )
- *--dest = *--source;
-
- yy_cp += dest - source;
- yy_bp += dest - source;
- yy_n_chars = yy_current_buffer->yy_buf_size;
-
- if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
- YY_FATAL_ERROR( "flex scanner push-back overflow" );
- }
-
- if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
- yy_cp[-2] = '\n';
-
- *--yy_cp = c;
-
- /* note: the formal parameter *must* be called "yy_bp" for this
- * macro to now work correctly
- */
- YY_DO_BEFORE_ACTION; /* set up yytext again */
- }
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
-
- {
- int c;
- YY_CHAR *yy_cp = yy_c_buf_p;
-
- *yy_cp = yy_hold_char;
-
- if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
- {
- /* yy_c_buf_p now points to the character we want to return.
- * If this occurs *before* the EOB characters, then it's a
- * valid NUL; if not, then we've hit the end of the buffer.
- */
- if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- /* this was really a NUL */
- *yy_c_buf_p = '\0';
-
- else
- { /* need more input */
- yytext = yy_c_buf_p;
- ++yy_c_buf_p;
-
- switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_END_OF_FILE:
- {
- if ( yywrap() )
- {
- yy_c_buf_p = yytext + YY_MORE_ADJ;
- return ( EOF );
- }
-
- YY_NEW_FILE;
-
-#ifdef __cplusplus
- return ( yyinput() );
-#else
- return ( input() );
-#endif
- }
- break;
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext + YY_MORE_ADJ;
- break;
-
- case EOB_ACT_LAST_MATCH:
-#ifdef __cplusplus
- YY_FATAL_ERROR( "unexpected last match in yyinput()" );
-#else
- YY_FATAL_ERROR( "unexpected last match in input()" );
-#endif
- }
- }
- }
-
- c = *yy_c_buf_p;
- yy_hold_char = *++yy_c_buf_p;
-
- return ( c );
- }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-
- {
- yy_init_buffer( yy_current_buffer, input_file );
- yy_load_buffer_state();
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-
- {
- if ( yy_current_buffer == new_buffer )
- return;
-
- if ( yy_current_buffer )
- {
- /* flush out information for old buffer */
- *yy_c_buf_p = yy_hold_char;
- yy_current_buffer->yy_buf_pos = yy_c_buf_p;
- yy_current_buffer->yy_n_chars = yy_n_chars;
- }
-
- yy_current_buffer = new_buffer;
- yy_load_buffer_state();
-
- /* we don't actually know whether we did this switch during
- * EOF (yywrap()) processing, but the only time this flag
- * is looked at is after yywrap() is called, so it's safe
- * to go ahead and always set it.
- */
- yy_did_buffer_switch_on_eof = 1;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-
- {
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
- yyin = yy_current_buffer->yy_input_file;
- yy_hold_char = *yy_c_buf_p;
- }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-
- {
- YY_BUFFER_STATE b;
-
- b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
-
- if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- b->yy_buf_size = size;
-
- /* yy_ch_buf has to be 2 characters longer than the size given because
- * we need to put in 2 end-of-buffer characters.
- */
- b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
-
- if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- yy_init_buffer( b, file );
-
- return ( b );
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
- {
- if ( b == yy_current_buffer )
- yy_current_buffer = (YY_BUFFER_STATE) 0;
-
- free( (char *) b->yy_ch_buf );
- free( (char *) b );
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
- {
- b->yy_input_file = file;
-
- /* we put in the '\n' and start reading from [1] so that an
- * initial match-at-newline will be true.
- */
-
- b->yy_ch_buf[0] = '\n';
- b->yy_n_chars = 1;
-
- /* we always need two end-of-buffer characters. The first causes
- * a transition to the end-of-buffer state. The second causes
- * a jam in that state.
- */
- b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
- b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
-
- b->yy_buf_pos = &b->yy_ch_buf[1];
-
- b->yy_eof_status = EOF_NOT_SEEN;
- }
-
-
-#ifdef DSTXXX
-#include <sys/types.h>
-#ifndef BSD42
-#include <time.h>
-#else BSD42
-#include <sys/time.h>
-#endif BSD42
-
-static void
-zonehack(tw)
- register struct tws *tw;
-{
- register struct tm *tm;
-
- if (twclock (tw) == -1L)
- return;
-
- tm = localtime (&tw -> tw_clock);
- if (tm -> tm_isdst) {
- tw -> tw_flags |= TW_DST;
- tw -> tw_zone -= 60;
- }
-}
-#endif DSTXXX
diff --git a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.lex
b/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.lex
deleted file mode 100644
index 035793e..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.lex
+++ /dev/null
@@ -1,375 +0,0 @@
-%{
-#ifndef lint
-static char rcsid[] =
-#ifdef FLEX_SCANNER
- "@(#) $Header: dtimep.lex,v 1.15 90/10/16 14:57:20 leres Exp $ (LBL) (flex
generated scanner)";
-#else
- "@(#) $Header: dtimep.lex,v 1.15 90/10/16 14:57:20 leres Exp $ (LBL) (lex
generated scanner)";
-#endif
-#endif
-%}
-/*
-%e 2000
-%p 5000
-%n 1000
-%a 4000
- */
-
-%START Z
-sun (sun(day)?)
-mon (mon(day)?)
-tue (tue(sday)?)
-wed (wed(nesday)?)
-thu (thu(rsday)?)
-fri (fri(day)?)
-sat (sat(urday)?)
-
-DAY ({sun}|{mon}|{tue}|{wed}|{thu}|{fri}|{sat})
-
-jan (jan(uary)?)
-feb (feb(ruary)?)
-mar (mar(ch)?)
-apr (apr(il)?)
-may (may)
-jun (jun(e)?)
-jul (jul(y)?)
-aug (aug(ust)?)
-sep (sep(tember)?)
-oct (oct(ober)?)
-nov (nov(ember)?)
-dec (dec(ember)?)
-
-MONTH
({jan}|{feb}|{mar}|{apr}|{may}|{jun}|{jul}|{aug}|{sep}|{oct}|{nov}|{dec})
-
-w ([ \t]*)
-W ([ \t]+)
-D ([0-9]?[0-9])
-d [0-9]
-%{
-#include "tws.h"
-#include <ctype.h>
-
-/*
- * Patchable flag that says how to interpret NN/NN/NN dates. When
- * true, we do it European style: DD/MM/YY. When false, we do it
- * American style: MM/DD/YY.
- */
-int europeandate = 0;
-
-/*
- * Table to convert month names to numeric month. We use the
- * fact that the low order 5 bits of the sum of the 2nd & 3rd
- * characters of the name is a hash with no collisions for the 12
- * valid month names. (The mask to 5 bits maps any combination of
- * upper and lower case into the same hash value).
- */
-static int month_map[] = {
- 0,
- 6, /* 1 - Jul */
- 3, /* 2 - Apr */
- 5, /* 3 - Jun */
- 0,
- 10, /* 5 - Nov */
- 0,
- 1, /* 7 - Feb */
- 11, /* 8 - Dec */
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0, /*15 - Jan */
- 0,
- 0,
- 0,
- 2, /*19 - Mar */
- 0,
- 8, /*21 - Sep */
- 0,
- 9, /*23 - Oct */
- 0,
- 0,
- 4, /*26 - May */
- 0,
- 7 /*28 - Aug */
-};
-/*
- * Same trick for day-of-week using the hash function
- * (c1 & 7) + (c2 & 4)
- */
-static int day_map[] = {
- 0,
- 0,
- 0,
- 6, /* 3 - Sat */
- 4, /* 4 - Thu */
- 0,
- 5, /* 6 - Fri */
- 0, /* 7 - Sun */
- 2, /* 8 - Tue */
- 1 /* 9 - Mon */,
- 0,
- 3 /*11 - Wed */
-};
-#define SETDAY { tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\
- tw.tw_flags &= ~TW_SDAY; tw.tw_flags |= TW_SEXP;\
- cp += 2; }
-#define SETMONTH { tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\
- cp += 2;\
- SKIPD;}
-#define CVT2 (i=(*cp++ - '0'),isdigit(*cp)? i*10 + (*cp++ - '0') : i)
-#define SKIPD { while ( !isdigit(*cp++) ) ; --cp; }
-#define EXPZONE { tw.tw_flags &= ~TW_SZONE; tw.tw_flags |= TW_SZEXP; }
-#define ZONE(x) { tw.tw_zone=(x); EXPZONE; }
-#define ZONED(x) { ZONE(x); tw.tw_flags |= TW_DST; }
-#define LC(c) (isupper(c) ? tolower(c) : (c))
-
-#ifdef FLEX_SCANNER
-/* We get passed a string and return a pointer to a static tws struct */
-#undef YY_DECL
-#define YY_DECL struct tws *dparsetime(str) char *str;
-
-/* We assume that we're never passed more than max_size characters */
-#undef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
- if (gstr) { \
- register char *xp; \
- xp = gstr; \
- while (isspace(*xp)) \
- xp++; \
- gstr = xp; \
- while (*xp != '\0') \
- ++xp; \
- result = xp - gstr; \
- bcopy(gstr, buf, result); \
- gstr = 0; \
- } else \
- result = YY_NULL;
-
-/* Date strings aren't usually very long */
-#undef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 128
-
-/* Use mh error reporting routine */
-#undef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(s) adios("dparsetime()", s);
-
-/* We need a pointer to the matched text we can modify */
-#undef YY_USER_ACTION
-#define YY_USER_ACTION cp = yytext
-
-/* Used to initialize */
-static struct tws ztw = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-
-/* Global for use by YY_INPUT() macro */
-static char *gstr;
-#endif
-
-%}
-
-%%
- register int i, gotdate;
- register char *cp;
- static struct tws tw;
- static void zonehack();
-
- BEGIN(INITIAL);
- yy_init = 1;
- tw = ztw;
- gstr = str;
- gotdate = 0;
-
-{DAY}","?{w} SETDAY;
-"("{DAY}")"(","?) {
- cp++;
- SETDAY;
- }
-
-{D}"/"{D}"/"(19)?[0-9][0-9]{w} {
- if (europeandate) {
- /* European: DD/MM/YY */
- tw.tw_mday = CVT2;
- cp++;
- tw.tw_mon = CVT2 - 1;
- } else {
- /* American: MM/DD/YY */
- tw.tw_mon = CVT2 - 1;
- cp++;
- tw.tw_mday = CVT2;
- }
- cp++;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i % 100;
- gotdate++;
- }
-{D}{w}(-)?{w}{MONTH}{w}(-)?{w}(19)?{D}{w}(\,{w}|at{W})? {
- tw.tw_mday = CVT2;
- while (!isalpha(*cp++))
- ;
- SETMONTH;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i % 100;
- }
-{MONTH}{W}{D}","{W}(19)?{D}{w} {
- cp++;
- SETMONTH;
- tw.tw_mday = CVT2;
- SKIPD;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i % 100;
- }
-
-{MONTH}{W}{D}{w} {
- cp++;
- SETMONTH;
- tw.tw_mday = CVT2;
- }
-
-{D}:{D}:{D}{w} {
- tw.tw_hour = CVT2; cp++;
- tw.tw_min = CVT2; cp++;
- tw.tw_sec = CVT2;
- BEGIN Z;
- }
-{D}:{D}{w} {
- tw.tw_hour = CVT2; cp++;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
-{D}:{D}{w}am{w} {
- tw.tw_hour = CVT2; cp++;
- if (tw.tw_hour == 12)
- tw.tw_hour = 0;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
-{D}:{D}{w}pm{w} {
- tw.tw_hour = CVT2; cp++;
- if (tw.tw_hour != 12)
- tw.tw_hour += 12;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
-[0-2]{d}{d}{d}{d}{d}{w} {
- tw.tw_hour = CVT2;
- tw.tw_min = CVT2;
- tw.tw_sec = CVT2;
- BEGIN Z;
- }
-19[6-9]{d}{w} {
- /*
- * Luckly, 4 digit times in the range
- * 1960-1999 aren't legal as hour
- * and minutes. This rule must come
- * the 4 digit hour and minute rule.
- */
- cp += 2;
- tw.tw_year = CVT2;
- }
-[0-2]{d}{d}{d}{w} {
- tw.tw_hour = CVT2;
- tw.tw_min = CVT2;
- BEGIN Z;
- }
-<Z>"-"?ut ZONE(0 * 60);
-<Z>"-"?gmt ZONE(0 * 60);
-<Z>"-"?jst ZONE(2 * 60);
-<Z>"-"?jdt ZONED(2 * 60);
-<Z>"-"?est ZONE(-5 * 60);
-<Z>"-"?edt ZONED(-5 * 60);
-<Z>"-"?cst ZONE(-6 * 60);
-<Z>"-"?cdt ZONED(-6 * 60);
-<Z>"-"?mst ZONE(-7 * 60);
-<Z>"-"?mdt ZONED(-7 * 60);
-<Z>"-"?pst ZONE(-8 * 60);
-<Z>"-"?pdt ZONED(-8 * 60);
-<Z>"-"?nst ZONE(-(3 * 60 + 30));
-<Z>"-"?ast ZONE(-4 * 60);
-<Z>"-"?adt ZONED(-4 * 60);
-<Z>"-"?yst ZONE(-9 * 60);
-<Z>"-"?ydt ZONED(-9 * 60);
-<Z>"-"?hst ZONE(-10 * 60);
-<Z>"-"?hdt ZONED(-10 * 60);
-<Z>"-"?bst ZONED(-1 * 60);
-<Z>[a-i] {
- tw.tw_zone = 60 * (('a'-1) - LC(*cp));
- EXPZONE;
- }
-<Z>[k-m] {
- tw.tw_zone = 60 * ('a' - LC(*cp));
- EXPZONE;
- }
-<Z>[n-y] {
- tw.tw_zone = 60 * (LC(*cp) - 'm');
- EXPZONE;
- }
-<Z>"+"[0-1]{d}{d}{d} {
- cp++;
- tw.tw_zone = ((cp[0] * 10 + cp[1])
- -('0' * 10 + '0'))*60
- +((cp[2] * 10 + cp[3])
- -('0' * 10 + '0'));
-#ifdef DSTXXX
- zonehack (&tw);
-#endif DSTXXX
- cp += 4;
- EXPZONE;
- }
-<Z>"-"[0-1]{d}{d}{d} {
- cp++;
- tw.tw_zone = (('0' * 10 + '0')
- -(cp[0] * 10 + cp[1]))*60
- +(('0' * 10 + '0')
- -(cp[2] * 10 + cp[3]));
-#ifdef DSTXXX
- zonehack (&tw);
-#endif DSTXXX
- cp += 4;
- EXPZONE;
- }
-
-\n |
-{W} ;
-
-<INITIAL,Z><<EOF>> return(&tw);
-
-. {
- /*
- * We jammed; it's an error if we
- * didn't parse anything.
- */
- if (!gotdate || tw.tw_year == 0)
- return(0);
- return(&tw);
- }
-
-%%
-
-#ifdef DSTXXX
-#include <sys/types.h>
-#ifndef BSD42
-#include <time.h>
-#else BSD42
-#include <sys/time.h>
-#endif BSD42
-
-static void
-zonehack(tw)
- register struct tws *tw;
-{
- register struct tm *tm;
-
- if (twclock (tw) == -1L)
- return;
-
- tm = localtime (&tw -> tw_clock);
- if (tm -> tm_isdst) {
- tw -> tw_flags |= TW_DST;
- tw -> tw_zone -= 60;
- }
-}
-#endif DSTXXX
diff --git a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/test.input
b/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/test.input
deleted file mode 100644
index d1edb1f..0000000
--- a/docs/historical/mh-6.8.5/local/lbl/zotnet/tws/test.input
+++ /dev/null
@@ -1,23 +0,0 @@
-11 MAR 1980 1559-PST
-12 March 1980 11:41-EST
-10 Feb 1982 11:22:30-PST
-85/10/29 14:44:13
-2 Dec 1986 1103-PST (Tuesday)
-27-Dec-1986 2323
-06-Oct-88 00:57
-12/02/88 12:36:12 EST
-Mon, 05 Dec 88 22:17:19 PST
-Fri, 16 Dec 88 18:49:09 PST
-5 Jan 89 11:45 +0100
-Fri Jan 6 12:46:18 PST 1989
-Tue Jan 24 07:41:26 1989 CST
-2/3/89 6:33 AM
-13 February 1989, 10:02:09 EST
-Tue Feb 14 13:05:06 PST 1989
-14 Feb 89 17:17:23 GMT
-01 Apr 89 00:00:01 GMT
-10 Jul 89 15:24
-Tue Nov 28 16:31:28 1989
-Wed Nov 29 14:54:37 -0800 1989
-Wed, 22 Nov 89 22:29:04 JST
-Tue, 16 Oct 90 14:41:52 -0800
diff --git a/docs/historical/mh-6.8.5/local/linux/DIFFS.linux
b/docs/historical/mh-6.8.5/local/linux/DIFFS.linux
deleted file mode 100644
index 7b1501a..0000000
--- a/docs/historical/mh-6.8.5/local/linux/DIFFS.linux
+++ /dev/null
@@ -1,950 +0,0 @@
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/conf/makefiles/support/pop ./conf/makefiles/support/pop
---- ../mh-6.8-dist/conf/makefiles/support/pop Sat Dec 25 16:57:49 1993
-+++ ./conf/makefiles/support/pop Sat Jul 16 18:05:55 1994
-@@ -110,7 +110,7 @@
- address@hidden -l $@
- address@hidden ""
-
--popd: xpopd
-+popd: xpopd;
-
- xpopd: popd.o popser.o syslog.o \
- ../../uip/dropsbr.o \
-@@ -146,7 +146,7 @@
- address@hidden -l $@
- address@hidden ""
-
--popaka: xpopaka
-+popaka: xpopaka;
-
- xpopaka: popaka.o $(LIBES1)
- $(LD) $(LDFLAGS) -o $@ popaka.o $(LDLIBS1)
-@@ -169,7 +169,7 @@
- address@hidden -l $@
- address@hidden ""
-
--popauth: xpopauth
-+popauth: xpopauth;
-
- xpopauth: popauth.o $(LIBES1)
- $(LD) $(LDFLAGS) -o $@ popauth.o $(LDLIBS2)
-@@ -193,7 +193,7 @@
- address@hidden -l $@
- address@hidden ""
-
--popwrd: xpopwrd
-+popwrd: xpopwrd;
-
- xpopwrd: popwrd.o $(LIBES1)
- $(LD) $(LDFLAGS) -o $@ popwrd.o $(LDLIBS1)
-@@ -214,7 +214,7 @@
- address@hidden -l $@
- address@hidden ""
-
--smtpd: xsmtpd
-+smtpd: xsmtpd;
-
- xsmtpd: smtpd.o syslog.o
- $(LD) $(LDFLAGS) -o $@ smtpd.o syslog.o
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/conf/makefiles/uip ./conf/makefiles/uip
---- ../mh-6.8-dist/conf/makefiles/uip Sat Dec 25 16:57:50 1993
-+++ ./conf/makefiles/uip Sat Jul 16 18:05:55 1994
-@@ -267,7 +267,7 @@
- address@hidden -l $@
- address@hidden ""
-
--ali: xali
-+ali: xali;
-
- xali: ali.o aliasbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ ali.o aliasbr.o $(LDLIBS)
-@@ -284,7 +284,7 @@
- address@hidden -l $@
- address@hidden ""
-
--anno: xanno
-+anno: xanno;
-
- xanno: anno.o annosbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ anno.o annosbr.o $(LDLIBS)
-@@ -301,7 +301,7 @@
- address@hidden -l $@
- address@hidden ""
-
--ap: xap
-+ap: xap;
-
- xap: ap.o trmsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ ap.o trmsbr.o $(LDLIBS) $(LDCURSES)
-@@ -325,7 +325,7 @@
- address@hidden -l $(BINDIR)/bbc
- address@hidden ""
-
--bbc: xbbc
-+bbc: xbbc;
-
- xbbc: bbc.o $(PSHLIB) $(LIBES)
- $(LD) $(LDFLAGS) -o $@ bbc.o $(PSHLIB) $(LDLIBS)
-@@ -352,7 +352,7 @@
- address@hidden -l $@
- address@hidden ""
-
--bbl: xbbl
-+bbl: xbbl;
-
- xbbl: bbl.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ bbl.o $(LDLIBS)
-@@ -369,7 +369,7 @@
- address@hidden -l $@
- address@hidden ""
-
--burst: xburst
-+burst: xburst;
-
- xburst: burst.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ burst.o $(LDLIBS)
-@@ -386,7 +386,7 @@
- address@hidden -l $@
- address@hidden ""
-
--cipher: xcipher
-+cipher: xcipher;
-
- xcipher: cipher.o $(TMALIB) $(LIBES)
- $(LD) $(LDFLAGS) -o $@ cipher.o $(TMALIB) $(LDLIBS)
-@@ -403,7 +403,7 @@
- address@hidden -l $(BINDIR)/comp
- address@hidden ""
-
--comp: xcomp
-+comp: xcomp;
-
- xcomp: comp.o whatnowproc.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
-@@ -423,7 +423,7 @@
- address@hidden -l $@
- address@hidden ""
-
--conflict: xconflict
-+conflict: xconflict;
-
- xconflict: conflict.o aliasbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ conflict.o aliasbr.o $(LDLIBS)
-@@ -440,7 +440,7 @@
- address@hidden -l $@
- address@hidden ""
-
--decipher: xdecipher
-+decipher: xdecipher;
-
- xdecipher: decipher.o $(TMALIB) $(LIBES)
- $(LD) $(LDFLAGS) -o $@ decipher.o $(TMALIB) $(LDLIBS)
-@@ -457,7 +457,7 @@
- address@hidden -l $@
- address@hidden ""
-
--dist: xdist
-+dist: xdist;
-
- xdist: dist.o whatnowproc.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
-@@ -477,7 +477,7 @@
- address@hidden -l $(ETCDIR)/dp
- address@hidden ""
-
--dp: xdp
-+dp: xdp;
-
- xdp: dp.o trmsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ dp.o trmsbr.o $(LDLIBS) $(LDCURSES)
-@@ -494,7 +494,7 @@
- address@hidden -l $@
- address@hidden ""
-
--fmtdump: xfmtdump
-+fmtdump: xfmtdump;
-
- xfmtdump: fmtdump.o trmsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ fmtdump.o $(LDLIBS)
-@@ -514,8 +514,8 @@
- address@hidden -l $@
- address@hidden ""
-
--folders: folder
--folder: xfolder
-+folders: folder;
-+folder: xfolder;
-
- xfolder: folder.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ folder.o $(LDLIBS)
-@@ -532,7 +532,7 @@
- address@hidden -l $@
- address@hidden ""
-
--forw: xforw
-+forw: xforw;
-
- xforw: forw.o whatnowproc.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
-@@ -563,7 +563,7 @@
- address@hidden -l $@
- address@hidden ""
-
--inc: xinc
-+inc: xinc;
-
- xinc: inc.o scansbr.o dropsbr.o trmsbr.o \
- $(POPLIB) $(TMALIB) $(LIBES)
-@@ -584,7 +584,7 @@
- address@hidden -l $@
- address@hidden ""
-
--install-mh: xinstall-mh
-+install-mh: xinstall-mh;
-
- xinstall-mh: install-mh.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ install-mh.o $(LDLIBS)
-@@ -601,7 +601,7 @@
- address@hidden -l $@
- address@hidden ""
-
--kdsc: xkdsc
-+kdsc: xkdsc;
-
- xkdsc: kdsc.o $(KDSLIB) $(LIBES)
- $(LD) $(LDFLAGS) -o $@ kdsc.o $(KDSLIB) $(LDLIBS)
-@@ -618,7 +618,7 @@
- address@hidden -l $@
- address@hidden ""
-
--mark: xmark
-+mark: xmark;
-
- xmark: mark.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ mark.o $(LDLIBS)
-@@ -635,7 +635,7 @@
- address@hidden -l $@
- address@hidden ""
-
--mhl: xmhl
-+mhl: xmhl;
-
- xmhl: mhl.o \
- mhlsbr.o trmsbr.o $(LIBES)
-@@ -655,7 +655,7 @@
- address@hidden -l $@
- address@hidden ""
-
--mhmail: xmhmail
-+mhmail: xmhmail;
-
- xmhmail: mhmail.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ mhmail.o $(LDLIBS)
-@@ -672,7 +672,7 @@
- address@hidden -l $@
- address@hidden ""
-
--mhn: xmhn
-+mhn: xmhn;
-
- xmhn: mhn.o ftpsbr.o trmsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ mhn.o ftpsbr.o trmsbr.o \
-@@ -690,7 +690,7 @@
- address@hidden -l $@
- address@hidden ""
-
--mhparam: xmhparam
-+mhparam: xmhparam;
-
- xmhparam: mhparam.o trmsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ mhparam.o $(LDLIBS) $(LDCURSES)
-@@ -707,7 +707,7 @@
- address@hidden -l $@
- address@hidden ""
-
--mhpath: xmhpath
-+mhpath: xmhpath;
-
- xmhpath: mhpath.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ mhpath.o $(LDLIBS)
-@@ -731,7 +731,7 @@
- address@hidden -l $@
- address@hidden ""
-
--msgchk: xmsgchk
-+msgchk: xmsgchk;
-
- xmsgchk: msgchk.o $(POPLIB) $(LIBES)
- $(LD) $(LDFLAGS) -o $@ msgchk.o $(POPLIB) \
-@@ -749,7 +749,7 @@
- address@hidden -l $@
- address@hidden ""
-
--msh: xmsh
-+msh: xmsh;
-
- xmsh: msh.o mshcmds.o vmhsbr.o \
- picksbr.o scansbr.o dropsbr.o mhlsbr.o trmsbr.o \
-@@ -772,7 +772,7 @@
- address@hidden -l $@
- address@hidden ""
-
--packf: xpackf
-+packf: xpackf;
-
- xpackf: packf.o dropsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ packf.o dropsbr.o $(LDLIBS)
-@@ -789,7 +789,7 @@
- address@hidden -l $@
- address@hidden ""
-
--pick: xpick
-+pick: xpick;
-
- xpick: pick.o picksbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ pick.o picksbr.o $(LDLIBS)
-@@ -806,7 +806,7 @@
- address@hidden -l $@
- address@hidden ""
-
--popi: xpopi
-+popi: xpopi;
-
- xpopi: popi.o $(POPLIB) trmsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ popi.o $(POPLIB) trmsbr.o $(LDLIBS) \
-@@ -831,7 +831,7 @@
- address@hidden -l $@
- address@hidden ""
-
--post: xpost
-+post: xpost;
-
- xpost: post.o \
- aliasbr.o $(MTSBRS) $(TMALIB) $(LIBES)
-@@ -851,7 +851,7 @@
- address@hidden -l $@
- address@hidden ""
-
--prompter: xprompter
-+prompter: xprompter;
-
- xprompter: prompter.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ prompter.o $(LDLIBS)
-@@ -868,7 +868,7 @@
- address@hidden -l $@
- address@hidden ""
-
--rcvdist: xrcvdist
-+rcvdist: xrcvdist;
-
- xrcvdist: rcvdist.o distsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ rcvdist.o distsbr.o $(LDLIBS)
-@@ -885,7 +885,7 @@
- address@hidden -l $@
- address@hidden ""
-
--rcvpack: xrcvpack
-+rcvpack: xrcvpack;
-
- xrcvpack: rcvpack.o dropsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ rcvpack.o dropsbr.o $(LDLIBS)
-@@ -902,7 +902,7 @@
- address@hidden -l $@
- address@hidden ""
-
--rcvstore: xrcvstore
-+rcvstore: xrcvstore;
-
- xrcvstore: rcvstore.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ rcvstore.o $(LDLIBS)
-@@ -923,7 +923,7 @@
- address@hidden -l $@
- address@hidden ""
-
--rcvtty: xrcvtty
-+rcvtty: xrcvtty;
-
- xrcvtty: rcvtty.o scansbr.o trmsbr.o \
- @BEGIN: TTYD
-@@ -952,7 +952,7 @@
- address@hidden -l $@
- address@hidden ""
-
--refile: xrefile
-+refile: xrefile;
-
- xrefile: refile.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ refile.o $(LDLIBS)
-@@ -969,7 +969,7 @@
- address@hidden -l $@
- address@hidden ""
-
--repl: xrepl
-+repl: xrepl;
-
- xrepl: repl.o replsbr.o whatnowproc.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
-@@ -992,7 +992,7 @@
- address@hidden -l $@
- address@hidden ""
-
--rmail: xrmail
-+rmail: xrmail;
-
- xrmail: rmail.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ rmail.o $(LDLIBS)
-@@ -1009,7 +1009,7 @@
- address@hidden -l $@
- address@hidden ""
-
--rmf: xrmf
-+rmf: xrmf;
-
- xrmf: rmf.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ rmf.o $(LDLIBS)
-@@ -1026,7 +1026,7 @@
- address@hidden -l $@
- address@hidden ""
-
--rmm: xrmm
-+rmm: xrmm;
-
- xrmm: rmm.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ rmm.o $(LDLIBS)
-@@ -1043,7 +1043,7 @@
- address@hidden -l $@
- address@hidden ""
-
--scan: xscan
-+scan: xscan;
-
- xscan: scan.o \
- scansbr.o trmsbr.o $(LIBES)
-@@ -1063,7 +1063,7 @@
- address@hidden -l $@
- address@hidden ""
-
--send: xsend
-+send: xsend;
-
- xsend: send.o \
- sendsbr.o annosbr.o distsbr.o $(LIBES)
-@@ -1089,9 +1089,9 @@
- address@hidden -l $@
- address@hidden ""
-
--next: show
--prev: show
--show: xshow
-+next: show;
-+prev: show;
-+show: xshow;
-
- xshow: show.o \
- mhlsbr.o trmsbr.o $(LIBES)
-@@ -1118,7 +1118,7 @@
- address@hidden -l $@
- address@hidden ""
-
--sbboards: xsbboards
-+sbboards: xsbboards;
-
- xsbboards: sbboards.o dropsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ sbboards.o dropsbr.o $(LDLIBS)
-@@ -1135,7 +1135,7 @@
- address@hidden -l $@
- address@hidden ""
-
--slocal: xslocal
-+slocal: xslocal;
-
- xslocal: slocal.o aliasbr.o dropsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ slocal.o aliasbr.o dropsbr.o $(LDLIBS)
-@@ -1152,7 +1152,7 @@
- address@hidden -l $@
- address@hidden ""
-
--sortm: xsortm
-+sortm: xsortm;
-
- xsortm: sortm.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ sortm.o $(LDLIBS)
-@@ -1172,7 +1172,7 @@
- address@hidden -l $@
- address@hidden ""
-
--spop: xspop
-+spop: xspop;
-
- xspop: spop.o dropsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ spop.o dropsbr.o $(LDLIBS)
-@@ -1193,7 +1193,7 @@
- address@hidden -l $@
- address@hidden ""
-
--spost: xspost
-+spost: xspost;
-
- xspost: spost.o aliasbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ spost.o aliasbr.o $(LDLIBS)
-@@ -1213,7 +1213,7 @@
- address@hidden "Don't forget to: ln -s /usr/lib/sendmail $@"
- address@hidden ""
-
--sendmail: xsendmail
-+sendmail: xsendmail;
-
- xsendmail: sendmail.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ sendmail.o $(LDLIBS)
-@@ -1230,7 +1230,7 @@
- address@hidden -l $@
- address@hidden ""
-
--tma: xtma
-+tma: xtma;
-
- xtma: tma.o $(TMALIB) $(LIBES)
- $(LD) $(LDFLAGS) -o $@ tma.o $(TMALIB) $(LDLIBS)
-@@ -1247,7 +1247,7 @@
- address@hidden -l $@
- address@hidden ""
-
--umhook: xumhook
-+umhook: xumhook;
-
- xumhook: umhook.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ umhook.o $(LDLIBS) $(LDCURSES)
-@@ -1264,7 +1264,7 @@
- address@hidden -l $@
- address@hidden ""
-
--vmh: xvmh
-+vmh: xvmh;
-
- xvmh: vmh.o vmhsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ vmh.o vmhsbr.o $(LDCURSES) $(LDLIBS)
-@@ -1285,7 +1285,7 @@
- address@hidden -l $@
- address@hidden ""
-
--whatnow: xwhatnow
-+whatnow: xwhatnow;
-
- xwhatnow: whatnow.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
-@@ -1305,7 +1305,7 @@
- address@hidden -l $@
- address@hidden ""
-
--whom: xwhom
-+whom: xwhom;
-
- xwhom: whom.o distsbr.o $(LIBES)
- $(LD) $(LDFLAGS) -o $@ whom.o distsbr.o $(LDLIBS)
-@@ -1322,7 +1322,7 @@
- address@hidden -l $@
- address@hidden ""
-
--wmh: xwmh
-+wmh: xwmh;
-
- xwmh: wmh.o vmhsbr.o $(LIBES)
- ${CC} $(LDFLAGS) -o $@ wmh.o vmhsbr.o $(LDLIBS) \
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/h/strings.h ./h/strings.h
---- ../mh-6.8-dist/h/strings.h Sat Dec 25 16:57:50 1993
-+++ ./h/strings.h Sat Jul 16 18:05:55 1994
-@@ -63,7 +63,9 @@
- #ifdef SYS5
- #include <memory.h>
- #define bcmp(b1,b2,length) memcmp(b1, b2, length)
-+#if __GNUC__ != 2
- #define bcopy(b1,b2,length) (void) memcpy (b2, b1, length)
-+#endif
- #define bcpy(b1,b2,length) memcmp (b1, b2, length)
- #define bzero(b,length) (void) memset (b, 0, length)
- #endif /* SYS5 */
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/sbr/discard.c ./sbr/discard.c
---- ../mh-6.8-dist/sbr/discard.c Sat Dec 25 16:57:51 1993
-+++ ./sbr/discard.c Sat Jul 16 18:11:18 1994
-@@ -49,7 +49,11 @@
- #ifdef _FSTDIO
- fpurge (io);
- #else
-+#ifdef _STDIO_USES_IOSTREAM
-+ io -> _IO_write_ptr = io -> _IO_write_base;
-+#else
- if (io -> _ptr = io -> _base)
- io -> _cnt = 0;
- #endif
-+#endif /* _STDIO_USES_IOSTREAM */
- }
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/sbr/m_getfld.c ./sbr/m_getfld.c
---- ../mh-6.8-dist/sbr/m_getfld.c Sat Dec 25 16:57:51 1993
-+++ ./sbr/m_getfld.c Sat Jul 16 18:10:23 1994
-@@ -244,22 +244,40 @@
- */
- cp = name; i = NAMESZ - 1;
- for (;;) {
-+#ifdef _STDIO_USES_IOSTREAM
-+ bp = sp = (unsigned char *) iob->_IO_read_ptr - 1;
-+ j = (cnt = ((long) iob->_IO_read_end - (long)
iob->_IO_read_ptr) + 1) < i?
-+ cnt: i;
-+#else
- bp = sp = (unsigned char *) iob->_ptr - 1;
- j = (cnt = iob->_cnt+1) < i ? cnt : i;
-+#endif
- while ((c = *bp++) != ':' && c != '\n' && --j >= 0)
- *cp++ = c;
-
- j = bp - sp;
- if ((cnt -= j) <= 0) {
-+#ifdef _STDIO_USES_IOSTREAM
-+ iob->_IO_read_ptr = iob->_IO_read_end;
-+ if (__underflow(iob) == EOF) {
-+#else
- if (_filbuf(iob) == EOF) {
-+#endif
- *cp = *buf = 0;
- advise (NULLCP, "eof encountered in field \"%s\"",
- name);
- return FMTERR;
- }
-+#ifdef _STDIO_USES_IOSTREAM
-+ iob->_IO_read_ptr++; /* NOT automatic in __underflow()! */
-+#endif
- } else {
-+#ifdef _STDIO_USES_IOSTREAM
-+ iob->_IO_read_ptr = bp + 1;
-+#else
- iob->_ptr = bp + 1;
- iob->_cnt = cnt - 1;
-+#endif
- }
- if (c == ':')
- break;
-@@ -298,16 +316,27 @@
- */
- cp = buf; i = bufsz-1;
- for (;;) {
-+#ifdef _STDIO_USES_IOSTREAM
-+ cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
-+ bp = (unsigned char *) --iob->_IO_read_ptr;
-+#else
- cnt = iob->_cnt++; bp = (unsigned char *) --iob->_ptr;
-+#endif
- c = cnt < i ? cnt : i;
- while (ep = locc( c, bp, '\n' )) {
- /*
- * if we hit the end of this field, return.
- */
- if ((j = *++ep) != ' ' && j != '\t') {
-+#ifdef _STDIO_USES_IOSTREAM
-+ j = ep - (unsigned char *) iob->_IO_read_ptr;
-+ (void) bcopy( iob->_IO_read_ptr, cp, j);
-+ iob->_IO_read_ptr = ep;
-+#else
- j = ep - (unsigned char *) iob->_ptr;
- (void) bcopy( iob->_ptr, cp, j);
- iob->_ptr = ep; iob->_cnt -= j;
-+#endif
- cp += j;
- state = FLD;
- goto finish;
-@@ -317,12 +346,21 @@
- /*
- * end of input or dest buffer - copy what we've found.
- */
-+#ifdef _STDIO_USES_IOSTREAM
-+ c += bp - (unsigned char *) iob->_IO_read_ptr;
-+ (void) bcopy( iob->_IO_read_ptr, cp, c);
-+#else
- c += bp - (unsigned char *) iob->_ptr;
- (void) bcopy( iob->_ptr, cp, c);
-+#endif
- i -= c; cp += c;
- if (i <= 0) {
- /* the dest buffer is full */
-+#ifdef _STDIO_USES_IOSTREAM
-+ iob->_IO_read_ptr += c;
-+#else
- iob->_cnt -= c; iob->_ptr += c;
-+#endif
- state = FLDPLUS;
- break;
- }
-@@ -333,11 +371,22 @@
- * this is the end of the field. Otherwise loop.
- */
- --i;
-+#ifdef _STDIO_USES_IOSTREAM
-+ *cp++ = j = *(iob->_IO_read_ptr + c);
-+ iob->_IO_read_ptr = iob->_IO_read_end;
-+ c = __underflow(iob);
-+ iob->_IO_read_ptr++; /* NOT automatic! */
-+#else
- *cp++ = j = *(iob->_ptr + c);
- c = _filbuf(iob);
-+#endif
- if ((j == '\0' || j == '\n') && c != ' ' && c != '\t') {
- if (c != EOF)
-+#ifdef _STDIO_USES_IOSTREAM
-+ --iob->_IO_read_ptr;
-+#else
- --iob->_ptr, ++iob->_cnt;
-+#endif
- state = FLD;
- break;
- }
-@@ -353,7 +402,12 @@
- * the output buffer and we don't add an eos.
- */
- i = (bufsz < 0) ? -bufsz : bufsz-1;
-+#ifdef _STDIO_USES_IOSTREAM
-+ bp = (unsigned char *) --iob->_IO_read_ptr;
-+ cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
-+#else
- bp = (unsigned char *) --iob->_ptr; cnt = ++iob->_cnt;
-+#endif
- c = (cnt < i ? cnt : i);
- if (msg_style != MS_DEFAULT && c > 1) {
- /*
-@@ -410,8 +464,12 @@
- }
- }
- (void) bcopy( bp, buf, c );
-+#ifdef _STDIO_USES_IOSTREAM
-+ iob->_IO_read_ptr += c;
-+#else
- iob->_cnt -= c;
- iob->_ptr += c;
-+#endif
- if (bufsz < 0) {
- msg_count = c;
- return (state);
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/support/pop/popd.c ./support/pop/popd.c
---- ../mh-6.8-dist/support/pop/popd.c Sat Dec 25 16:57:51 1993
-+++ ./support/pop/popd.c Sat Jul 16 18:05:56 1994
-@@ -61,8 +61,10 @@
- #ifndef BSD44
- extern int sys_nerr;
- extern char *sys_errlist[];
-+#ifndef linux
- extern char *sys_siglist[];
- #endif
-+#endif
-
-
- int debug = 0;
-@@ -193,6 +195,10 @@
- #ifdef SIGCHLD
- (void) signal (SIGCHLD, chldser);
- #endif /* SIGCHLD */
-+#ifdef linux
-+/* No limit on the number of connections? this seems wrong... */
-+#define SOMAXCONN 5
-+#endif
- (void) listen (sd, SOMAXCONN);
- #endif /* KPOP */
- #ifdef FAST
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/uip/inc.c ./uip/inc.c
---- ../mh-6.8-dist/uip/inc.c Sat Dec 25 16:57:51 1993
-+++ ./uip/inc.c Sat Jul 16 18:05:56 1994
-@@ -384,17 +384,23 @@
-
- /* */
-
--#ifdef MAILGROUP
-- return_gid = getegid(); /* Save effective gid, assuming we'll use it */
-- setgid(getgid()); /* Turn off extraordinary privileges */
--#endif /* MAILGROUP */
--
- #ifdef POP
- if (host && !*host)
- host = NULL;
- if (from || !host || rpop <= 0)
- (void) setuid (getuid ());
- #endif /* POP */
-+
-+/*
-+ * 93/12/17 address@hidden relocated: with MAILGROUP and POP both defined
-+ * the setgid() call ran as root, and saved gid would be lost. If the
setuid()
-+ * call above then ran, inc would be unable to reestablish its setgid state.
-+ */
-+#ifdef MAILGROUP
-+ return_gid = getegid(); /* Save effective gid, assuming we'll use it */
-+ setgid(getgid()); /* Turn off extraordinary privileges */
-+#endif /* MAILGROUP */
-+
- if (from) {
- newmail = from;
- #ifdef POP
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/uip/popi.c ./uip/popi.c
---- ../mh-6.8-dist/uip/popi.c Sat Dec 25 16:57:51 1993
-+++ ./uip/popi.c Sat Jul 16 18:05:57 1994
-@@ -558,7 +558,11 @@
-
-
- static int dselect (d)
-+#ifdef SYS5DIR
-+register struct dirent *d;
-+#else
- register struct direct *d;
-+#endif
- {
- int i;
-
-@@ -571,8 +575,13 @@
-
-
- static int dcompar (d1, d2)
-+#ifdef SYS5DIR
-+struct dirent **d1,
-+ **d2;
-+#else
- struct direct **d1,
- **d2;
-+#endif
- {
- struct stat s1,
- s2;
-@@ -592,7 +601,11 @@
- int n,
- retval,
- sm;
-+#ifdef SYS5DIR
-+ struct dirent **namelist;
-+#else
- struct direct **namelist;
-+#endif
-
- if (chdir (bulksw) == NOTOK)
- adios (bulksw, "unable to change directory to");
-@@ -602,7 +615,11 @@
-
- sm = NOTOK;
- for (i = 0; i < n; i++) {
-+#ifdef SYS5DIR
-+ register struct dirent *d = namelist[i];
-+#else
- register struct direct *d = namelist[i];
-+#endif
-
- if (sm == NOTOK) {
- if (rp_isbad (retval = sm_init (NULLCP, host, 1, 1, snoop)))
-@@ -630,13 +647,21 @@
- register int j;
- int l,
- m;
-+#ifdef SYS5DIR
-+ struct dirent **newlist;
-+#else
- struct direct **newlist;
-+#endif
-
- while ((l = scandir (".", &newlist, dselect, dcompar)) > OK) {
- m = 0;
-
- for (j = 0; j < l; j++) {
-+#ifdef SYS5DIR
-+ register struct dirent *d = newlist[j];
-+#else
- register struct direct *d = newlist[j];
-+#endif
-
- for (i = 0; i < n; i++)
- if (strcmp (d -> d_name, namelist[i] -> d_name) == 0)
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/uip/sbboards.c ./uip/sbboards.c
---- ../mh-6.8-dist/uip/sbboards.c Sat Dec 25 16:57:51 1993
-+++ ./uip/sbboards.c Sat Jul 16 18:05:57 1994
-@@ -66,7 +66,10 @@
- #ifdef LOCALE
- #include <locale.h>
- #endif
--
-+#ifdef linux
-+/* FIXME - who should be doing this? With what option? */
-+#include <sys/types.h>
-+#endif
-
- #define NBB 100
-
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/uip/scansbr.c ./uip/scansbr.c
---- ../mh-6.8-dist/uip/scansbr.c Sat Dec 25 16:57:51 1993
-+++ ./uip/scansbr.c Sat Jul 16 18:10:56 1994
-@@ -238,14 +238,25 @@
- */
- body: ;
- while (state == BODY) {
-+#ifdef _STDIO_USES_IOSTREAM
-+ if (scnout->_IO_write_ptr == scnout->_IO_write_end) {
-+#else
- if (scnout->_cnt <= 0) {
-+#endif
- if (fflush(scnout) == EOF)
- adios (scnmsg, "write error on");
- }
-+#ifdef _STDIO_USES_IOSTREAM
-+ state = m_getfld(state, name, scnout->_IO_write_ptr,
-+
(long)scnout->_IO_write_ptr-(long)scnout->_IO_write_end,
-+ inb);
-+ scnout->_IO_write_ptr += msg_count;
-+#else
- state = m_getfld( state, name, scnout->_ptr,
- -(scnout->_cnt), inb );
- scnout->_cnt -= msg_count;
- scnout->_ptr += msg_count;
-+#endif
- }
- goto finished;
-
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/uip/spop.c ./uip/spop.c
---- ../mh-6.8-dist/uip/spop.c Sat Dec 25 16:57:51 1993
-+++ ./uip/spop.c Sat Jul 16 18:05:57 1994
-@@ -66,6 +66,10 @@
- #ifdef LOCALE
- #include <locale.h>
- #endif
-+#ifdef linux
-+/* FIXME - who should be doing this? With what option? */
-+#include <sys/types.h>
-+#endif
-
-
- #define NBB 100
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/uip/vmh.c ./uip/vmh.c
---- ../mh-6.8-dist/uip/vmh.c Sat Dec 25 16:57:52 1993
-+++ ./uip/vmh.c Sat Jul 16 18:05:57 1994
-@@ -11,8 +11,10 @@
- * means "AT&T line discipline" (termio, not sgttyb), whereas terminfo
- * is quite a separate issue.
- */
-+#ifndef linux
- #define TERMINFO 1
- #endif
-+#endif
-
- /* TODO:
- Pass signals to client during execution
-@@ -175,6 +177,9 @@
- #if !defined(SYS5) && !defined(BSD44)
- int _putchar ();
- #endif /* not SYS5 */
-+#ifdef linux
-+static int _putchar (c) int c; { putchar (c); }
-+#endif
- #ifdef SIGTSTP
- char *tgoto ();
- #endif /* SIGTSTP */
-diff --unified --recursive --minimal --unidirectional-new-file
../mh-6.8-dist/zotnet/mts/lock.c ./zotnet/mts/lock.c
---- ../mh-6.8-dist/zotnet/mts/lock.c Sat Dec 25 16:57:52 1993
-+++ ./zotnet/mts/lock.c Sat Jul 16 18:05:57 1994
-@@ -29,7 +29,9 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #ifdef SVR4
-+#ifndef linux
- #define LOCKF
-+#endif
- #include <unistd.h>
- #endif
- #ifdef LOCKF
diff --git a/docs/historical/mh-6.8.5/local/linux/DIFFS.shlib
b/docs/historical/mh-6.8.5/local/linux/DIFFS.shlib
deleted file mode 100644
index 59f02e4..0000000
--- a/docs/historical/mh-6.8.5/local/linux/DIFFS.shlib
+++ /dev/null
@@ -1,462 +0,0 @@
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/Makefile ./Makefile
-*** ../mh-6.8.3-dist/Makefile Sat Dec 25 14:19:03 1993
---- ./Makefile Sat Dec 25 14:19:19 1993
-***************
-*** 48,52 ****
-
##############################################################################
-
-! ALL = config sbr mts zotnet uip support doc
-
- all:; for d in $(ALL); do (cd $$d; $(MAKE) all); done
---- 48,52 ----
-
##############################################################################
-
-! ALL = config sbr mts zotnet jump uip support doc
-
- all:; for d in $(ALL); do (cd $$d; $(MAKE) all); done
-***************
-*** 61,65 ****
-
-
-! INSTALL = zotnet support uip doc
- BINDIR = $(DESTDIR)/usr/bin/mh
- ETCDIR = $(DESTDIR)/usr/lib/mh
---- 61,65 ----
-
-
-! INSTALL = zotnet support jump uip doc
- BINDIR = $(DESTDIR)/usr/bin/mh
- ETCDIR = $(DESTDIR)/usr/lib/mh
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/config/Makefile ./config/Makefile
-*** ../mh-6.8.3-dist/config/Makefile Sat Dec 25 12:21:17 1993
---- ./config/Makefile Sat Dec 25 12:43:50 1993
-***************
-*** 9,12 ****
---- 9,17 ----
- LDOPTIONS=
-
-+ # Linux shared libraries
-+ JUMP_DIR=../jump/
-+ JUMP_LIB=libconfig
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
- CFLAGS = $(OPTIONS)
-***************
-*** 17,20 ****
---- 22,29 ----
- LLIBS =
-
-+ # Linux: create $*.j from $*.c, contains DLL version
-+ .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-+ mv $*.o $*.j
-+ $(CC) $(CFLAGS) -c $*.c
-
-
##############################################################################
-***************
-*** 45,49 ****
-
- clean: unclean
-! -rm -f *.o
-
- unclean:; -rm -f _* :* core eddep makedep
---- 54,58 ----
-
- clean: unclean
-! -rm -f *.o *.j
-
- unclean:; -rm -f _* :* core eddep makedep
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/mts/mh/Makefile ./mts/mh/Makefile
-*** ../mh-6.8.3-dist/mts/mh/Makefile Sat Dec 25 12:21:26 1993
---- ./mts/mh/Makefile Sat Dec 25 12:43:18 1993
-***************
-*** 9,12 ****
---- 9,17 ----
- OPTIONS= -DSYS5 -DSHADOW -DMORE='"/usr/bin/more"' -DRENAME -DSYS5DIR
-DUNISTD -DSVR4 -DMIME -DVSPRINTF -DMHE -DOVERHEAD -DRPATHS -DDUMB -DATHENA
-DBIND -DSOCKETS -DNTOHLSWAP -DDPOP -DPOP2 -DRPOP -DMPOP
-DAPOP='"/etc/pop.auth"' -DMAILGROUP -DSENDMTS -DSMTP -DPOP -DBPOP
-DSPRINTFTYPE=int -DTYPESIG=void -traditional -D_NFILE='getdtablesize()'
-DSIGEMT=SIGUSR1 -O2 -I..
-
-+ # Linux shared library
-+ JUMP_DIR=../../jump/
-+ JUMP_LIB=libmts
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
- CFLAGS = $(OPTIONS)
-***************
-*** 26,30 ****
- # Generation Rules
-
##############################################################################
-! .c.o:; $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
- mv a.out $@
---- 31,40 ----
- # Generation Rules
-
##############################################################################
-!
-! # Linux: create $*.j from $*.c, contains DLL version
-! .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-! -ld -x -r $@
-! mv a.out $*.j
-! $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
- mv a.out $@
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/mts/mmdf/Makefile ./mts/mmdf/Makefile
-*** ../mh-6.8.3-dist/mts/mmdf/Makefile Sat Dec 25 12:21:28 1993
---- ./mts/mmdf/Makefile Sat Dec 25 12:42:57 1993
-***************
-*** 9,12 ****
---- 9,17 ----
- OPTIONS = -DSYS5 -DSHADOW -DMORE='"/usr/bin/more"' -DRENAME
-DSYS5DIR -DUNISTD -DSVR4 -DMIME -DVSPRINTF -DMHE -DOVERHEAD -DRPATHS -DDUMB
-DATHENA -DBIND -DSOCKETS -DNTOHLSWAP -DDPOP -DPOP2 -DRPOP -DMPOP
-DAPOP='"/etc/pop.auth"' -DMAILGROUP -DSENDMTS -DSMTP -DPOP -DBPOP
-DSPRINTFTYPE=int -DTYPESIG=void -traditional -D_NFILE='getdtablesize()'
-DSIGEMT=SIGUSR1 -O2 -I..
-
-+ # Linux shared library
-+ JUMP_DIR=../../jump/
-+ JUMP_LIB=libmts
-+ export JUMP_DIR JUMP_LIB
-+
- CC = (MHCOMPILER)
- CFLAGS = $(OPTIONS)
-***************
-*** 27,31 ****
-
##############################################################################
-
-! .c.o:; $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
- mv a.out $@
---- 32,40 ----
-
##############################################################################
-
-! # Linux: create $*.j from $*.c, contains DLL version
-! .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-! -ld -x -r $@
-! mv a.out $*.j
-! $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
- mv a.out $@
-diff --recursive --minimal --context=1 --unidirectional-new-file
../mh-6.8.3-dist/mts/sendmail/Makefile ./mts/sendmail/Makefile
-*** ../mh-6.8.3-dist/mts/sendmail/Makefile Sat Dec 25 12:21:29 1993
---- ./mts/sendmail/Makefile Sat Dec 25 12:42:35 1993
-***************
-*** 10,11 ****
---- 10,16 ----
-
-+ # Linux shared library
-+ JUMP_DIR=../../jump/
-+ JUMP_LIB=libmts
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
-***************
-*** 26,28 ****
-
-! .c.o:; $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
---- 31,37 ----
-
-! # Linux: create $*.j from $*.c, contains DLL version
-! .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-! -ld -x -r $@
-! mv a.out $*.j
-! $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
-***************
-*** 66,68 ****
- clean: unclean
-! -rm -f *.o $(LIB) z$(LIB)
-
---- 75,77 ----
- clean: unclean
-! -rm -f *.o *.j $(LIB) z$(LIB)
-
-diff --recursive --minimal --context=1 --unidirectional-new-file
../mh-6.8.3-dist/sbr/Makefile ./sbr/Makefile
-*** ../mh-6.8.3-dist/sbr/Makefile Sat Dec 25 12:21:33 1993
---- ./sbr/Makefile Sat Dec 25 12:41:42 1993
-***************
-*** 9,10 ****
---- 9,15 ----
-
-+ # Linux shared library
-+ JUMP_DIR=../jump/
-+ JUMP_LIB=libmh
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
-***************
-*** 56,58 ****
---- 61,67 ----
-
-+ # Linux: create $*.j from $*.c, contains DLL version
- .c.o:
-+ $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-+ -ld -x -r $@
-+ mv a.out $*.j
- $(CC) $(CFLAGS) -c $*.c
-***************
-*** 90,92 ****
- clean: unclean
-! -rm -f *.o libmh.*
-
---- 99,101 ----
- clean: unclean
-! -rm -f *.o *.j libmh.*
-
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/support/bboards/Makefile ./support/bboards/Makefile
-*** ../mh-6.8.3-dist/support/bboards/Makefile Sat Dec 25 12:21:35 1993
---- ./support/bboards/Makefile Sat Dec 25 13:55:52 1993
-***************
-*** 22,28 ****
- CFLAGS = $(OPTIONS)
- LDFLAGS = $(LDOPTIONS)
-! LIBES1 = ../../zotnet/libzot.a ../../mts/libmts.a
-! LIBES2 = ../../config/config.o ../../config/version.o \
-! ../../sbr/libmh.a $(LIBES1)
- LDLIBS1 = $(LIBES1) $(LDOPTLIB)
- LDLIBS2 = $(LIBES2) $(LDOPTLIB)
---- 22,33 ----
- CFLAGS = $(OPTIONS)
- LDFLAGS = $(LDOPTIONS)
-! #LIBES1 = ../../zotnet/libzot.a ../../mts/libmts.a
-! #LIBES2 = ../../config/config.o ../../config/version.o \
-! # ../../sbr/libmh.a $(LIBES1)
-! #LDLIBS1 = $(LIBES1) $(LDOPTLIB)
-! #LDLIBS2 = $(LIBES2) $(LDOPTLIB)
-! # Linux shared libraries
-! LIBES1 = ../../jump/libzot.sa ../../jump/libmts.sa
-! LIBES2 = ../../jump/libconfig.sa ../../jump/libmh.sa $(LIBES1)
- LDLIBS1 = $(LIBES1) $(LDOPTLIB)
- LDLIBS2 = $(LIBES2) $(LDOPTLIB)
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/support/pop/Makefile ./support/pop/Makefile
-*** ../mh-6.8.3-dist/support/pop/Makefile Sat Dec 25 14:46:20 1993
---- ./support/pop/Makefile Sat Dec 25 13:56:48 1993
-***************
-*** 32,39 ****
- CFLAGS = $(OPTIONS)
- LDFLAGS = $(LDOPTIONS)
-! LIBES1 = ../../zotnet/libzot.a ../../mts/libmts.a
-! LIBES2 = ../../config/config.o ../../sbr/libmh.a $(LIBES1)
- LDLIBS1 = $(LIBES1) $(LDOPTLIB)
-! LDLIBS2 = $(LIBES2) ../../config/version.o $(LDOPTLIB)
-
- LINT = lint
---- 32,44 ----
- CFLAGS = $(OPTIONS)
- LDFLAGS = $(LDOPTIONS)
-! #LIBES1 = ../../zotnet/libzot.a ../../mts/libmts.a
-! #LIBES2 = ../../config/config.o ../../sbr/libmh.a $(LIBES1)
-! #LDLIBS1 = $(LIBES1) $(LDOPTLIB)
-! #LDLIBS2 = $(LIBES2) ../../config/version.o $(LDOPTLIB)
-! # Linux shared libraries
-! LIBES1 = ../../jump/libzot.sa ../../jump/libmts.sa
-! LIBES2 = ../../jump/libconfig.sa ../../jump/libmh.sa $(LIBES1)
- LDLIBS1 = $(LIBES1) $(LDOPTLIB)
-! LDLIBS2 = $(LIBES2) $(LDOPTLIB)
-
- LINT = lint
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/uip/Makefile ./uip/Makefile
-*** ../mh-6.8.3-dist/uip/Makefile Sat Dec 25 14:40:03 1993
---- ./uip/Makefile Sat Dec 25 13:57:46 1993
-***************
-*** 56,62 ****
- CFLAGS = $(OPTIONS)
- LDFLAGS = $(LDOPTIONS)
-! LIBES = ../config/config.o ../sbr/libmh.a ../mts/libmts.a \
-! ../zotnet/libzot.a
-! LDLIBS = $(LIBES) ../config/version.o $(LDOPTLIB)
- LINT = lint
- LFLAGS = -bhu $(OPTIONS) $(TMAOPTS)
---- 56,66 ----
- CFLAGS = $(OPTIONS)
- LDFLAGS = $(LDOPTIONS)
-! #LIBES = ../config/config.o ../sbr/libmh.a ../mts/libmts.a \
-! # ../zotnet/libzot.a
-! #LDLIBS = $(LIBES) ../config/version.o $(LDOPTLIB)
-! # Linux shared libraries
-! LIBES = ../jump/libconfig.sa ../jump/libmh.sa ../jump/libmts.sa
\
-! ../jump/libzot.sa
-! LDLIBS = $(LIBES) $(LDOPTLIB)
- LINT = lint
- LFLAGS = -bhu $(OPTIONS) $(TMAOPTS)
-diff --recursive --minimal --context=1 --unidirectional-new-file
../mh-6.8.3-dist/zotnet/Makefile ./zotnet/Makefile
-*** ../mh-6.8.3-dist/zotnet/Makefile Sat Dec 25 12:21:46 1993
---- ./zotnet/Makefile Sat Dec 25 14:02:53 1993
-***************
-*** 10,11 ****
---- 10,16 ----
-
-+ # Linux shared library
-+ JUMP_DIR=../jump/
-+ JUMP_LIB=libzot
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
-***************
-*** 31,33 ****
-
-! .c.o:; $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
---- 36,42 ----
-
-! # Linux: create $*.j from $*.c, contains DLL version
-! .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-! -ld -x -r $@
-! mv a.out $*.j
-! $(CC) $(CFLAGS) -c $*.c
- -ld -x -r $@
-***************
-*** 83,85 ****
-
-! clean:; -rm -f $(LIB) z$(LIB) _* :* *.o core
- for d in $(DIRS); do (cd $$d; $(MAKE) clean); done
---- 92,94 ----
-
-! clean:; -rm -f $(LIB) z$(LIB) _* :* *.o *.j core
- for d in $(DIRS); do (cd $$d; $(MAKE) clean); done
-diff --recursive --minimal --context=1 --unidirectional-new-file
../mh-6.8.3-dist/zotnet/bboards/Makefile ./zotnet/bboards/Makefile
-*** ../mh-6.8.3-dist/zotnet/bboards/Makefile Sat Dec 25 12:21:47 1993
---- ./zotnet/bboards/Makefile Sat Dec 25 12:40:58 1993
-***************
-*** 10,11 ****
---- 10,16 ----
-
-+ # Linux shared library
-+ JUMP_DIR=../../jump/
-+ JUMP_LIB=libzot
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
-***************
-*** 18,19 ****
---- 23,29 ----
-
-+ # Linux: create $*.j from $*.c, contains DLL version
-+ .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-+ mv $*.o $*.j
-+ $(CC) $(CFLAGS) -c $*.c
-+
- ######################################################################
-***************
-*** 54,56 ****
- clean: unclean
-! -rm -f *.o
-
---- 64,66 ----
- clean: unclean
-! -rm -f *.o *.j
-
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/zotnet/mf/Makefile ./zotnet/mf/Makefile
-*** ../mh-6.8.3-dist/zotnet/mf/Makefile Sat Dec 25 12:21:49 1993
---- ./zotnet/mf/Makefile Sat Dec 25 14:03:33 1993
-***************
-*** 13,16 ****
---- 13,21 ----
- REMOVE = mv -f
-
-+ # Linux shared library
-+ JUMP_DIR=../../jump/
-+ JUMP_LIB=libzot
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
- CFLAGS = $(OPTIONS)
-***************
-*** 24,27 ****
---- 29,37 ----
- .c:; echo $@
-
-+ # Linux: create $*.j from $*.c, contains DLL version
-+ .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-+ mv $*.o $*.j
-+ $(CC) $(CFLAGS) -c $*.c
-+
- ######################################################################
- # Here it is...
-***************
-*** 146,150 ****
-
- clean: unclean
-! -rm -f x* *.o
-
- unclean:; -rm -f z* _* :* core eddep makedep MAKEMF
---- 156,160 ----
-
- clean: unclean
-! -rm -f x* *.o *.j
-
- unclean:; -rm -f z* _* :* core eddep makedep MAKEMF
-diff --recursive --minimal --context=2 --unidirectional-new-file
../mh-6.8.3-dist/zotnet/mts/Makefile ./zotnet/mts/Makefile
-*** ../mh-6.8.3-dist/zotnet/mts/Makefile Sat Dec 25 12:21:50 1993
---- ./zotnet/mts/Makefile Sat Dec 25 14:03:47 1993
-***************
-*** 15,18 ****
---- 15,23 ----
- REMOVE = mv -f
-
-+ # Linux shared library
-+ JUMP_DIR=../../jump/
-+ JUMP_LIB=libzot
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
- CFLAGS = $(OPTIONS)
-***************
-*** 32,35 ****
---- 37,45 ----
- .c:; echo $@
-
-+ # Linux: create $*.j from $*.c, contains DLL version
-+ .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-+ mv $*.o $*.j
-+ $(CC) $(CFLAGS) -c $*.c
-+
- ######################################################################
- # Here it is...
-***************
-*** 110,114 ****
-
- clean: unclean
-! -rm -f x* *.o
-
- unclean:; -rm -f z* _* :* core eddep makedep MAKEMTS
---- 120,124 ----
-
- clean: unclean
-! -rm -f x* *.o *.j
-
- unclean:; -rm -f z* _* :* core eddep makedep MAKEMTS
-diff --recursive --minimal --context=1 --unidirectional-new-file
../mh-6.8.3-dist/zotnet/tws/Makefile ./zotnet/tws/Makefile
-*** ../mh-6.8.3-dist/zotnet/tws/Makefile Sat Dec 25 12:21:52 1993
---- ./zotnet/tws/Makefile Sat Dec 25 14:12:29 1993
-***************
-*** 14,15 ****
---- 14,20 ----
-
-+ # Linux shared library
-+ JUMP_DIR=../../jump/
-+ JUMP_LIB=libzot
-+ export JUMP_DIR JUMP_LIB
-+
- CC = cc
-***************
-*** 30,31 ****
---- 35,41 ----
-
-+ # Linux: create $*.j from $*.c, contains DLL version
-+ .c.o:; $(CC) -B/usr/dll/jump/ $(CFLAGS) -c $*.c
-+ mv $*.o $*.j
-+ $(CC) $(CFLAGS) -c $*.c
-+
- ######################################################################
-***************
-*** 76,77 ****
---- 86,89 ----
- lexstring.o: lexstring.c
-+ $(CC) -B/usr/dll/jump/ $(patsubst -O2,,$(CFLAGS)) -c -DONECASE
lexstring.c
-+ mv $*.o $*.j
- $(CC) $(CFLAGS) -c -DONECASE lexstring.c
-***************
-*** 104,106 ****
- clean: unclean
-! -rm -f dtimep.c *.o date
-
---- 116,118 ----
- clean: unclean
-! -rm -f dtimep.c *.o *.j date
-
diff --git a/docs/historical/mh-6.8.5/local/linux/README.linux
b/docs/historical/mh-6.8.5/local/linux/README.linux
deleted file mode 100644
index 3837480..0000000
--- a/docs/historical/mh-6.8.5/local/linux/README.linux
+++ /dev/null
@@ -1,118 +0,0 @@
-This is the patch distribution for MH 6.8.3 for Linux. You will need the UCI
-source distribution of MH 6.8.3.
-
-If you wish to build shared libraries, you must also have tools-2.10 or later.
-(I used tools-2.15.)
-
-
-
-WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
-
-This distribution WILL NOT WORK with libc-4.4. Use the old distribution if
-you need libc-4.4; or, better yet, upgrade to libc-4.5. You'll eventually
-need to anyway...
-
-Do NOT attempt to use a particular version of libmh with binaries compiled
-for a different version. libmh is not a "normal" shared library; there are
-many interdependencies with respect to both function parameters and to side
-effects. Using a mismatched libmh *will* fail; if you're lucky, all you'll
-get is a core dump. (If you're not, I hope you backed up your Mail
-directory recently...)
-
-If you have been using the original MH 6.8.3 release for Linux, be aware that
-some configuration details have changed:
-
- * BBoards are no longer compiled in
- * The APOP and MPOP options are no longer supported
- * The MHRC option has been added
- * Manpages now have the "mh" extension added, as per the MH standard
-
-If you want to re-enable BBoards, I strongly suggest that you get a recent
-version of sendmail (NOT smail; sendmail support is provided, but you're on
-your own if you want to configure smail for BBoards. Yes, it turns my
-stomach, too...) and read conf/mh-gen.8 and doc/ADMIN.me. The same goes for
-configuring the POP server, which is enabled but not tested and probably not
-functional. I don't support either of the above.
-
-If you change configuration options, you may need to regenerate the shared
-library tables. See the file doc/README.tr in the tools-2.10 (or later)
-distribution for details. In particular, I have made no provision for the
-length of the mhbinpath and mhetcpath to be increased.
-
-WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
-
-
-
-Instructions:
-
-(1) Unpack the UCI MH distribution into a directory somewhere. Keep in mind
-that MH is *huge*.
-
-(2) Unpack this distriburtion into the same directory. It will create several
-files in the current directory, as well as a "jump" directory containing the
-control files for the shared libmh.
-
-(3) Type "patch -p0 -N < DIFFS.linux". This will apply the basic
-compatibility patches to MH.
-
-(4) Examine the file "zotnet/tws/dtimep.c-lexed". Some early copies of the
-UCI MH distribution have an empty file here; others have the correct file. If
-yours is empty, copy linux-dtimep.c-lexed to zotnet/tws/dtimep.c-lexed. If
-you plan to build the shared library, you may want to copy this file anyway;
-if you use the distribution one, you may need to regenerate the shared
-library tables because my copy of the MH distribution came with an empty
-dtimep.c-lexed and I had to create this one to build MH.
-
-(5) Examine the file "linux-conf.MH". This is an MH configuration file
-consistent with the Linux FSSTND and with my best understanding of Debian
-Linux. (It is *not* the one I use, by the way.) You may wish to read
-conf/mh-gen.8 and change some of the options; if you do so, PLEASE change the
-version numbers in jump/jump.params and jump/Makefile to avoid disaster. See
-the WARNING above. Copy linux-conf.MH to conf/MH and edit it to match your
-choice of options.
-
-(6) Likewise, "linux-conf.config.mtstailor" is a Linux-specific copy of
-conf/config/mtstailor. You may want to modify it as per conf/mh-gen.8. (This
-is much less likely, IMHO.) Copy it to conf/config/mtstailor and edit as
-above.
-
-(7) Configure MH: "cd conf; make mhconfig; mhconfig MH; cd ..; make clean".
-
-(8) If you want to build the static MH, skip to step 10.
-
-(9) If you want to build the MH shared library, type the command "patch -p0 -N
-< DIFFS.shlib". I don't know whether to try to fix this or to wait for
-libc-5.0 with ELF shared libraries; those are already supported by MH. But
-making the MH configuration facility support Linux DLL shared libraries is
-going to be a real b*tch of a job.
-
-(10) Type "make". Watch for errors; they won't stop the build (not my
-idea...). On my 486DX2/66 24MB it takes 10-15 minutes to build MH from
-scratch. (Don't knock it; it used to take an hour and a half back when I was
-building MH 6.5 under System III on a 68000 box...)
-
-(11) If something went wrong, make sure you didn't change the wrong options.
-(Well-meaning fools who try to substitute BSD options for the SVR4 options in
-my conf/MH will probably never get thjings working reliably. You have been
-warned.) Make sure you're using libc-4.5.x. If all else fails, capture the
-output of the "make" above in a file and send it to me.
-
-(12) Type "make install" to install the binaries and manpages. WARNING! If
-you had the old Linux MH distribution installed, you may want to remove the
-old manpages by hand; they will *not* be overwritten, because the extensions
-have been returned to the MH standard. (I decline to argue this with the
-FSSTND or Debian folks; if they want to impose maintenance problems on
-developers, they should be prepared to take over said development themselves.)
-
-(13) That's it! Make sure /usr/bin/mh is on your path before trying to use
-MH.
-
-
-
-Instructions on how to *use* MH are beyond the scope of this document. See
-doc/MH.me, papers/beginners/beginners.tex, and the MH Nutshell Handbook from
-O'Reilly and Associates.
-
-++Brandon
address@hidden
-August 1, 1994
diff --git a/docs/historical/mh-6.8.5/local/linux/jump/Makefile
b/docs/historical/mh-6.8.5/local/linux/jump/Makefile
deleted file mode 100644
index febdb16..0000000
--- a/docs/historical/mh-6.8.5/local/linux/jump/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-SHELL = /bin/sh
-VERSION = 3.0
-LIBDEFS = -a 0x63f00000 -g 4096 -j 0x1000
-
-LIBCONFIG = ../config/config.j ../config/version.j
-LIBMH = ../sbr/add.j ../sbr/addrsbr.j ../sbr/adios.j ../sbr/admonish.j \
- ../sbr/advertise.j ../sbr/advise.j ../sbr/ambigsw.j ../sbr/atooi.j \
- ../sbr/brkstring.j ../sbr/closefds.j ../sbr/concat.j ../sbr/copy.j \
- ../sbr/copyip.j ../sbr/cpydata.j ../sbr/cpydgst.j ../sbr/discard.j \
- ../sbr/done.j ../sbr/fdcompare.j ../sbr/fmtcompile.j \
- ../sbr/formataddr.j ../sbr/formatdef.j ../sbr/formatsbr.j \
- ../sbr/gans.j ../sbr/getans.j ../sbr/getanswer.j ../sbr/getcpy.j \
- ../sbr/help.j ../sbr/m_atoi.j ../sbr/m_backup.j ../sbr/m_convert.j \
- ../sbr/m_delete.j ../sbr/m_draft.j ../sbr/m_find.j ../sbr/m_fmsg.j \
- ../sbr/m_foil.j ../sbr/m_getdefs.j ../sbr/m_getfld.j \
- ../sbr/m_getfolder.j ../sbr/m_gmprot.j ../sbr/m_gmsg.j \
- ../sbr/m_maildir.j ../sbr/m_msgdef.j ../sbr/m_name.j \
- ../sbr/m_readefs.j ../sbr/m_remsg.j ../sbr/m_replace.j \
- ../sbr/m_scratch.j ../sbr/m_seq.j ../sbr/m_seqbits.j \
- ../sbr/m_seqflag.j ../sbr/m_seqnew.j ../sbr/m_setcur.j \
- ../sbr/m_setseq.j ../sbr/m_setvis.j ../sbr/m_sync.j ../sbr/m_tmpfil.j \
- ../sbr/m_update.j ../sbr/makedir.j ../sbr/path.j ../sbr/peekc.j \
- ../sbr/pidstatus.j ../sbr/pidwait.j ../sbr/printsw.j ../sbr/push.j \
- ../sbr/putenv.j ../sbr/pwd.j ../sbr/r1bindex.j ../sbr/refile.j \
- ../sbr/remdir.j ../sbr/showfile.j ../sbr/smatch.j ../sbr/sprintb.j \
- ../sbr/ssequal.j ../sbr/strindex.j ../sbr/trimcpy.j ../sbr/uleq.j \
- ../sbr/uprf.j ../sbr/vfgets.j
-LIBMTS = ../mts/sendmail/hosts.j ../mts/sendmail/smail.j
-LIBZOT = ../zotnet/bboards/getbbent.j ../zotnet/mf/mf.j \
- ../zotnet/tws/dtime.j ../zotnet/tws/dtimep.j ../zotnet/tws/lexstring.j \
- ../zotnet/mts/client.j ../zotnet/mts/lock.j ../zotnet/mts/mts.j
-
-all: libmh.so.$(VERSION) libconfig.sa libmh.sa libmts.sa libzot.sa
- /usr/dll/bin/verify-shlib -l libmh.so.$(VERSION) \
- libconfig.sa libmh.sa libmts.sa libzot.sa
-
-libmh.so.$(VERSION): jump.params $(LIBCONFIG) $(LIBMH) $(LIBMTS) $(LIBZOT)
- ar rc libconfig.a $(LIBCONFIG)
- ar rc libmh.a $(LIBMH)
- ar rc libmts.a $(LIBMTS)
- ar rc libzot.a $(LIBZOT)
- /usr/dll/bin/mkimage -l /lib/libmh -v $(VERSION) $(LIBDEFS) -- \
- libconfig.a libmh.a libmts.a libzot.a `cc --print` -lc
- rm -f libconfig.a libmh.a libmts.a libzot.a
-
-libconfig.sa libmh.sa libmts.sa libzot.sa: libmh.so.$(VERSION)
- /usr/dll/bin/mkstubs -l /lib/libmh -v $(VERSION) $(LIBDEFS) -- \
- libconfig libmh libmts libzot
-
-inst-all:
- cp libmh.so.$(VERSION) /lib
- /etc/ldconfig /lib
-
-clean:
- -rm *.[csoa] *.so.*.* *.sa verify.out
diff --git a/docs/historical/mh-6.8.5/local/linux/jump/jump.funcs
b/docs/historical/mh-6.8.5/local/linux/jump/jump.funcs
deleted file mode 100644
index 11de876..0000000
--- a/docs/historical/mh-6.8.5/local/linux/jump/jump.funcs
+++ /dev/null
@@ -1,150 +0,0 @@
-00000000 T _libpath libconfig config
-00000000 T _add libmh add
-00000000 T _adios libmh adios
-00000000 T _admonish libmh admonish
-00000000 T _getname libmh addrsbr
-00000000 T _getm libmh addrsbr
-00000000 T _mnfree libmh addrsbr
-00000000 T _auxformat libmh addrsbr
-00000000 T _adrsprintf libmh addrsbr
-00000000 T _ismymbox libmh addrsbr
-00000000 T _advertise libmh advertise
-00000000 T _advise libmh advise
-00000000 T _ambigsw libmh ambigsw
-00000000 T _atooi libmh atooi
-00000000 T _brkstring libmh brkstring
-00000000 T _closefds libmh closefds
-00000000 T _concat libmh concat
-00000000 T _copy libmh copy
-00000000 T _copyip libmh copyip
-00000000 T _cpydata libmh cpydata
-00000000 T _cpydgst libmh cpydgst
-00000000 T _discard libmh discard
-00000000 T _done libmh done
-00000000 T _fdcompare libmh fdcompare
-00000000 T _gans libmh gans
-00000000 T _getans libmh getans
-00000000 T _getanswer libmh getanswer
-00000000 T _getcpy libmh getcpy
-00000000 T _help libmh help
-00000000 T _fmt_compile libmh fmtcompile
-00000000 T _formataddr libmh formataddr
-00000000 T _new_fs libmh formatsbr
-00000000 T _fmtscan libmh formatsbr
-00000000 T _m_atoi libmh m_atoi
-00000000 T _m_backup libmh m_backup
-00000000 T _m_convert libmh m_convert
-00000000 T _m_delete libmh m_delete
-00000000 T _m_draft libmh m_draft
-00000000 T _m_find libmh m_find
-00000000 T _m_fmsg libmh m_fmsg
-00000000 T _m_foil libmh m_foil
-00000000 T _m_getdefs libmh m_getdefs
-00000000 T _m_getfld libmh m_getfld
-00000000 T _m_unknown libmh m_getfld
-00000000 T _m_eomsbr libmh m_getfld
-00000000 T _m_Eom libmh m_getfld
-00000000 T _unixline libmh m_getfld
-00000000 T _m_getfolder libmh m_getfolder
-00000000 T _m_gmprot libmh m_gmprot
-00000000 T _m_gmsg libmh m_gmsg
-00000000 T _m_maildir libmh m_maildir
-00000000 T _m_mailpath libmh m_maildir
-00000000 T _m_name libmh m_name
-00000000 T _m_readefs libmh m_readefs
-00000000 T _m_remsg libmh m_remsg
-00000000 T _m_replace libmh m_replace
-00000000 T _m_scratch libmh m_scratch
-00000000 T _m_seq libmh m_seq
-00000000 T _m_seqbits libmh m_seqbits
-00000000 T _m_seqflag libmh m_seqflag
-00000000 T _m_seqnew libmh m_seqnew
-00000000 T _m_seqadd libmh m_seqnew
-00000000 T _m_seqdel libmh m_seqnew
-00000000 T _m_setcur libmh m_setcur
-00000000 T _m_setseq libmh m_setseq
-00000000 T _m_setvis libmh m_setvis
-00000000 T _m_sync libmh m_sync
-00000000 T _m_tmpfil libmh m_tmpfil
-00000000 T _m_update libmh m_update
-00000000 T _makedir libmh makedir
-00000000 T _path libmh path
-00000000 T _peekc libmh peekc
-00000000 T _pidwait libmh pidwait
-00000000 T _pidstatus libmh pidstatus
-00000000 T _printsw libmh printsw
-00000000 T _push libmh push
-00000000 T _m_putenv libmh putenv
-00000000 T _unputenv libmh putenv
-00000000 T _pwd libmh pwd
-00000000 T _refile libmh refile
-00000000 T _remdir libmh remdir
-00000000 T _r1bindex libmh r1bindex
-00000000 T _showfile libmh showfile
-00000000 T _smatch libmh smatch
-00000000 T _sprintb libmh sprintb
-00000000 T _ssequal libmh ssequal
-00000000 T _stringdex libmh strindex
-00000000 T _trimcpy libmh trimcpy
-00000000 T _uleq libmh uleq
-00000000 T _uprf libmh uprf
-00000000 T _vfgets libmh vfgets
-00000000 T _OfficialName libmts hosts
-00000000 T _sm_init libmts smail
-00000000 T _sm_winit libmts smail
-00000000 T _sm_wadr libmts smail
-00000000 T _sm_waend libmts smail
-00000000 T _sm_wtxt libmts smail
-00000000 T _sm_wtend libmts smail
-00000000 T _sm_end libmts smail
-00000000 T __DUMMY__ libmts smail
-00000000 T _rp_string libmts smail
-00000000 T _EHLOset libmts smail
-00000000 T _mts_init libzot mts
-00000000 T _LocalName libzot mts
-00000000 T _SystemName libzot mts
-00000000 T _UucpChan libzot mts
-00000000 T _getusr libzot mts
-00000000 T _getfullname libzot mts
-00000000 T _dup2 libzot mts
-00000000 T _lkopen libzot lock
-00000000 T _lkclose libzot lock
-00000000 T _lkfopen libzot lock
-00000000 T _lkfclose libzot lock
-00000000 T _client libzot client
-00000000 T _gethostbystring libzot client
-00000000 T _setbbfile libzot getbbent
-00000000 T _setbbinfo libzot getbbent
-00000000 T _setpwinfo libzot getbbent
-00000000 T _setbbent libzot getbbent
-00000000 T _endbbent libzot getbbent
-00000000 T _getbbtime libzot getbbent
-00000000 T _getbbent libzot getbbent
-00000000 T _getbbnam libzot getbbent
-00000000 T _getbbaka libzot getbbent
-00000000 T _ldrbb libzot getbbent
-00000000 T _ldrchk libzot getbbent
-00000000 T _getbbcpy libzot getbbent
-00000000 T _getbbdist libzot getbbent
-00000000 T _getbberr libzot getbbent
-00000000 T _make_lower libzot getbbent
-00000000 T _dparsetime libzot dtimep
-00000000 T _lex_string libzot lexstring
-00000000 T _dtimenow libzot dtime
-00000000 T _dctime libzot dtime
-00000000 T _dtwstime libzot dtime
-00000000 T _dlocaltime libzot dtime
-00000000 T _dgmtime libzot dtime
-00000000 T _dasctime libzot dtime
-00000000 T _dtimezone libzot dtime
-00000000 T _twscopy libzot dtime
-00000000 T _twsort libzot dtime
-00000000 T _twclock libzot dtime
-00000000 T _set_dotw libzot dtime
-00000000 T _isfrom libzot mf
-00000000 T _lequal libzot mf
-00000000 T _seekadrx libzot mf
-00000000 T _uucpadrx libzot mf
-00000000 T _getadrx libzot mf
-00000000 T _legal_person libzot mf
-00000000 T _mfgets libzot mf
diff --git a/docs/historical/mh-6.8.5/local/linux/jump/jump.ignore
b/docs/historical/mh-6.8.5/local/linux/jump/jump.ignore
deleted file mode 100644
index 807cce1..0000000
--- a/docs/historical/mh-6.8.5/local/linux/jump/jump.ignore
+++ /dev/null
@@ -1 +0,0 @@
-00000000 T _main libzot date
diff --git a/docs/historical/mh-6.8.5/local/linux/jump/jump.import
b/docs/historical/mh-6.8.5/local/linux/jump/jump.import
deleted file mode 100644
index 51b1fd8..0000000
--- a/docs/historical/mh-6.8.5/local/linux/jump/jump.import
+++ /dev/null
@@ -1,164 +0,0 @@
-/usr/lib/libc.sa(__libc.o):00001000 a __GOT_SIZE
-/usr/lib/libc.sa(__libc.o):6008f0b0 A _AL
-/usr/lib/libc.sa(__libc.o):6008f198 A _AL_PARM
-/usr/lib/libc.sa(__libc.o):6008f060 A _AM
-/usr/lib/libc.sa(__libc.o):6008f0b4 A _BC
-/usr/lib/libc.sa(__libc.o):6008f064 A _BS
-/usr/lib/libc.sa(__libc.o):6008f0bc A _BT
-/usr/lib/libc.sa(__libc.o):6008f068 A _CA
-/usr/lib/libc.sa(__libc.o):6008f0c0 A _CD
-/usr/lib/libc.sa(__libc.o):6008f0c4 A _CE
-/usr/lib/libc.sa(__libc.o):6008f0c8 A _CL
-/usr/lib/libc.sa(__libc.o):6008f0cc A _CM
-/usr/lib/libc.sa(__libc.o):6008f048 A _COLS
-/usr/lib/libc.sa(__libc.o):6008f0d0 A _CR
-/usr/lib/libc.sa(__libc.o):6008f0d4 A _CS
-/usr/lib/libc.sa(__libc.o):6008f06c A _DA
-/usr/lib/libc.sa(__libc.o):6008f070 A _DB
-/usr/lib/libc.sa(__libc.o):6008f0d8 A _DC
-/usr/lib/libc.sa(__libc.o):6008f0dc A _DL
-/usr/lib/libc.sa(__libc.o):6008f19c A _DL_PARM
-/usr/lib/libc.sa(__libc.o):6008f0e0 A _DM
-/usr/lib/libc.sa(__libc.o):6008f0e4 A _DO
-/usr/lib/libc.sa(__libc.o):6008f1a4 A _DOWN_PARM
-/usr/lib/libc.sa(__libc.o):6008f03c A _Def_term
-/usr/lib/libc.sa(__libc.o):6008f0e8 A _ED
-/usr/lib/libc.sa(__libc.o):6008f0ec A _EI
-/usr/lib/libc.sa(__libc.o):6008f074 A _EO
-/usr/lib/libc.sa(__libc.o):6008f1b8 A _GT
-/usr/lib/libc.sa(__libc.o):6008f078 A _HC
-/usr/lib/libc.sa(__libc.o):6008f118 A _HO
-/usr/lib/libc.sa(__libc.o):6008f07c A _HZ
-/usr/lib/libc.sa(__libc.o):6008f11c A _IC
-/usr/lib/libc.sa(__libc.o):6008f120 A _IM
-/usr/lib/libc.sa(__libc.o):6008f080 A _IN
-/usr/lib/libc.sa(__libc.o):6008f124 A _IP
-/usr/lib/libc.sa(__libc.o):6008f0f0 A _K0
-/usr/lib/libc.sa(__libc.o):6008f0f4 A _K1
-/usr/lib/libc.sa(__libc.o):6008f0f8 A _K2
-/usr/lib/libc.sa(__libc.o):6008f0fc A _K3
-/usr/lib/libc.sa(__libc.o):6008f100 A _K4
-/usr/lib/libc.sa(__libc.o):6008f104 A _K5
-/usr/lib/libc.sa(__libc.o):6008f108 A _K6
-/usr/lib/libc.sa(__libc.o):6008f10c A _K7
-/usr/lib/libc.sa(__libc.o):6008f110 A _K8
-/usr/lib/libc.sa(__libc.o):6008f114 A _K9
-/usr/lib/libc.sa(__libc.o):6008f128 A _KD
-/usr/lib/libc.sa(__libc.o):6008f12c A _KE
-/usr/lib/libc.sa(__libc.o):6008f130 A _KH
-/usr/lib/libc.sa(__libc.o):6008f134 A _KL
-/usr/lib/libc.sa(__libc.o):6008f138 A _KR
-/usr/lib/libc.sa(__libc.o):6008f13c A _KS
-/usr/lib/libc.sa(__libc.o):6008f140 A _KU
-/usr/lib/libc.sa(__libc.o):6008f1a8 A _LEFT_PARM
-/usr/lib/libc.sa(__libc.o):6008f044 A _LINES
-/usr/lib/libc.sa(__libc.o):6008f144 A _LL
-/usr/lib/libc.sa(__libc.o):6008f148 A _MA
-/usr/lib/libc.sa(__libc.o):6008f300 A _MCAppPath
-/usr/lib/libc.sa(__libc.o):6008f084 A _MI
-/usr/lib/libc.sa(__libc.o):6008f088 A _MS
-/usr/lib/libc.sa(__libc.o):6008f030 A _My_term
-/usr/lib/libc.sa(__libc.o):6008f08c A _NC
-/usr/lib/libc.sa(__libc.o):6008f14c A _ND
-/usr/lib/libc.sa(__libc.o):6008f150 A _NL
-/usr/lib/libc.sa(__libc.o):6008f1bc A _NONL
-/usr/lib/libc.sa(__libc.o):6008f090 A _NS
-/usr/lib/libc.sa(__libc.o):6008f094 A _OS
-/usr/lib/libc.sa(__libc.o):6008f1b0 A _PC
-/usr/lib/libc.sa(__libc.o):6008f154 A _RC
-/usr/lib/libc.sa(__libc.o):6008f1ac A _RIGHT_PARM
-/usr/lib/libc.sa(__libc.o):6008f158 A _SC
-/usr/lib/libc.sa(__libc.o):6008f15c A _SE
-/usr/lib/libc.sa(__libc.o):6008f160 A _SF
-/usr/lib/libc.sa(__libc.o):6008f164 A _SO
-/usr/lib/libc.sa(__libc.o):6008f168 A _SR
-/usr/lib/libc.sa(__libc.o):6008f16c A _TA
-/usr/lib/libc.sa(__libc.o):6008f170 A _TE
-/usr/lib/libc.sa(__libc.o):6008f174 A _TI
-/usr/lib/libc.sa(__libc.o):6008f178 A _UC
-/usr/lib/libc.sa(__libc.o):6008f17c A _UE
-/usr/lib/libc.sa(__libc.o):6008f098 A _UL
-/usr/lib/libc.sa(__libc.o):6008f180 A _UP
-/usr/lib/libc.sa(__libc.o):6008f1c0 A _UPPERCASE
-/usr/lib/libc.sa(__libc.o):6008f1a0 A _UP_PARM
-/usr/lib/libc.sa(__libc.o):6008f188 A _US
-/usr/lib/libc.sa(__libc.o):6008f18c A _VB
-/usr/lib/libc.sa(__libc.o):6008f194 A _VE
-/usr/lib/libc.sa(__libc.o):6008f190 A _VS
-/usr/lib/libc.sa(__libc.o):6008f09c A _XB
-/usr/lib/libc.sa(__libc.o):6008f0a0 A _XN
-/usr/lib/libc.sa(__libc.o):6008f0a8 A _XS
-/usr/lib/libc.sa(__libc.o):6008f0a4 A _XT
-/usr/lib/libc.sa(__libc.o):6008f0ac A _XX
-/usr/lib/libc.sa(__libc.o):6008f2a4 A __IO_file_jumps
-/usr/lib/libc.sa(__libc.o):6008f1f4 A __IO_list_all
-/usr/lib/libc.sa(__libc.o):6008f2a8 A __IO_proc_jumps
-/usr/lib/libc.sa(__libc.o):6008f1ec A __IO_stderr_
-/usr/lib/libc.sa(__libc.o):6008f1e4 A __IO_stdin_
-/usr/lib/libc.sa(__libc.o):6008f1e8 A __IO_stdout_
-/usr/lib/libc.sa(__libc.o):6008f2ac A __IO_str_jumps
-/usr/lib/libc.sa(__libc.o):6008f214 A ____brk_addr
-/usr/lib/libc.sa(__libc.o):6008f01c A ___ctype_b
-/usr/lib/libc.sa(__libc.o):6008f020 A ___ctype_tolower
-/usr/lib/libc.sa(__libc.o):6008f024 A ___ctype_toupper
-/usr/lib/libc.sa(__libc.o):6008f1fc A ___environ
-/usr/lib/libc.sa(__libc.o):6008f250 A ___exit_funcs
-/usr/lib/libc.sa(__libc.o):6008f2f0 A ___glob_closedir_hook
-/usr/lib/libc.sa(__libc.o):6008f2f4 A ___glob_opendir_hook
-/usr/lib/libc.sa(__libc.o):6008f2f8 A ___glob_readdir_hook
-/usr/lib/libc.sa(__libc.o):6008f278 A ___ttyname
-/usr/lib/libc.sa(__libc.o):6008f238 A __collate_info
-/usr/lib/libc.sa(__libc.o):6008f23c A __ctype_info
-/usr/lib/libc.sa(__libc.o):6008f028 A __echoit
-/usr/lib/libc.sa(__libc.o):6008f034 A __endwin
-/usr/lib/libc.sa(__libc.o):6008f288 A __gdbm_fetch_val
-/usr/lib/libc.sa(__libc.o):6008f280 A __gdbm_file
-/usr/lib/libc.sa(__libc.o):6008f284 A __gdbm_memory
-/usr/lib/libc.sa(__libc.o):6008f240 A __monetary_info
-/usr/lib/libc.sa(__libc.o):6008f234 A __null_auth
-/usr/lib/libc.sa(__libc.o):6008f244 A __numeric_info
-/usr/lib/libc.sa(__libc.o):6008f2ec A __obstack
-/usr/lib/libc.sa(__libc.o):6008f1c8 A __pfast
-/usr/lib/libc.sa(__libc.o):6008f02c A __rawmode
-/usr/lib/libc.sa(__libc.o):6008f1dc A __res
-/usr/lib/libc.sa(__libc.o):6008f04c A __res_iflg
-/usr/lib/libc.sa(__libc.o):6008f050 A __res_lflg
-/usr/lib/libc.sa(__libc.o):6008f270 A __res_opcodes
-/usr/lib/libc.sa(__libc.o):6008f274 A __res_resultcodes
-/usr/lib/libc.sa(__libc.o):6008f248 A __response_info
-/usr/lib/libc.sa(__libc.o):6008f2fc A __sigintr
-/usr/lib/libc.sa(__libc.o):6008f00c A __sys_errlist
-/usr/lib/libc.sa(__libc.o):6008f010 A __sys_nerr
-/usr/lib/libc.sa(__libc.o):6008f014 A __sys_siglist
-/usr/lib/libc.sa(__libc.o):6008f24c A __time_info
-/usr/lib/libc.sa(__libc.o):6008f05c A __tty
-/usr/lib/libc.sa(__libc.o):6008f040 A __tty_ch
-/usr/lib/libc.sa(__libc.o):6008f1cc A __unctrl
-/usr/lib/libc.sa(__libc.o):6008f27c A __win
-/usr/lib/libc.sa(__libc.o):6008f058 A _curscr
-/usr/lib/libc.sa(__libc.o):6008f228 A _daylight
-/usr/lib/libc.sa(__libc.o):6008f200 A _errno
-/usr/lib/libc.sa(__libc.o):6008f1d0 A _gdbm_errno
-/usr/lib/libc.sa(__libc.o):6008f28c A _gdbm_version
-/usr/lib/libc.sa(__libc.o):6008f008 A _h_errlist
-/usr/lib/libc.sa(__libc.o):6008f1d8 A _h_errno
-/usr/lib/libc.sa(__libc.o):6008f2a0 A _h_nerr
-/usr/lib/libc.sa(__libc.o):6008f1c4 A _normtty
-/usr/lib/libc.sa(__libc.o):6008f204 A _optarg
-/usr/lib/libc.sa(__libc.o):6008f20c A _opterr
-/usr/lib/libc.sa(__libc.o):6008f208 A _optind
-/usr/lib/libc.sa(__libc.o):6008f2e4 A _optopt
-/usr/lib/libc.sa(__libc.o):6008f218 A _ospeed
-/usr/lib/libc.sa(__libc.o):6008f26c A _re_max_failures
-/usr/lib/libc.sa(__libc.o):6008f210 A _re_syntax_options
-/usr/lib/libc.sa(__libc.o):6008f1e0 A _rexecoptions
-/usr/lib/libc.sa(__libc.o):6008f230 A _rpc_createerr
-/usr/lib/libc.sa(__libc.o):6008f25c A _stderr
-/usr/lib/libc.sa(__libc.o):6008f254 A _stdin
-/usr/lib/libc.sa(__libc.o):6008f258 A _stdout
-/usr/lib/libc.sa(__libc.o):6008f054 A _stdscr
-/usr/lib/libc.sa(__libc.o):6008f2e8 A _svc_fdset
-/usr/lib/libc.sa(__libc.o):6008f224 A _timezone
-/usr/lib/libc.sa(__libc.o):6008f21c A _tputs_baud_rate
-/usr/lib/libc.sa(__libc.o):6008f038 A _ttytype
-/usr/lib/libc.sa(__libc.o):6008f220 A _tzname
diff --git a/docs/historical/mh-6.8.5/local/linux/jump/jump.params
b/docs/historical/mh-6.8.5/local/linux/jump/jump.params
deleted file mode 100644
index 062985d..0000000
--- a/docs/historical/mh-6.8.5/local/linux/jump/jump.params
+++ /dev/null
@@ -1,6 +0,0 @@
-Name=/lib/libmh
-Text=0x63f00000
-Data=0x00000000
-Jump=0x00001000
-GOT=0x00001000
-Version=3.0
diff --git a/docs/historical/mh-6.8.5/local/linux/jump/jump.undefs
b/docs/historical/mh-6.8.5/local/linux/jump/jump.undefs
deleted file mode 100644
index 89a7e0b..0000000
--- a/docs/historical/mh-6.8.5/local/linux/jump/jump.undefs
+++ /dev/null
@@ -1 +0,0 @@
-63f1f1f8 D __NEEDS_SHRLIB_libc_4
diff --git a/docs/historical/mh-6.8.5/local/linux/jump/jump.vars
b/docs/historical/mh-6.8.5/local/linux/jump/jump.vars
deleted file mode 100644
index 6a5812a..0000000
--- a/docs/historical/mh-6.8.5/local/linux/jump/jump.vars
+++ /dev/null
@@ -1,95 +0,0 @@
-00000078 D _options libconfig config
-00000018 D _anoyes libconfig config
-00000004 D _components libconfig config
-00000004 D _current libconfig config
-00000004 D _defalt libconfig config
-00000004 D _digestcomps libconfig config
-00000004 D _distcomps libconfig config
-00000004 D _draft libconfig config
-00000004 D _forwcomps libconfig config
-00000004 D _inbox libconfig config
-00000004 D _mh_defaults libconfig config
-00000004 D _mh_profile libconfig config
-00000004 D _mhlformat libconfig config
-00000004 D _mhlforward libconfig config
-00000004 D _nsequence libconfig config
-00000004 D _pfolder libconfig config
-00000004 D _psequence libconfig config
-00000004 D _rcvdistcomps libconfig config
-00000004 D _replcomps libconfig config
-00000004 D _usequence libconfig config
-00000004 D _mhlibdir libconfig config
-00000004 D _context libconfig config
-00000004 D _mh_seq libconfig config
-00000004 D _faceproc libconfig config
-00000004 D _fileproc libconfig config
-00000004 D _incproc libconfig config
-00000004 D _installproc libconfig config
-00000004 D _lproc libconfig config
-00000004 D _mailproc libconfig config
-00000004 D _moreproc libconfig config
-00000004 D _mhlproc libconfig config
-00000004 D _mshproc libconfig config
-00000004 D _packproc libconfig config
-00000004 D _postproc libconfig config
-00000004 D _rmfproc libconfig config
-00000004 D _rmmproc libconfig config
-00000004 D _sendproc libconfig config
-00000004 D _showproc libconfig config
-00000004 D _slocalproc libconfig config
-00000004 D _vmhproc libconfig config
-00000004 D _whatnowproc libconfig config
-00000004 D _whomproc libconfig config
-00000004 D _sysed libconfig config
-00000004 D _AliasFile libconfig config
-00000004 D _foldprot libconfig config
-00000004 D _msgprot libconfig config
-00000004 C _ctxflags libconfig config
-00000004 C _invo_name libconfig config
-00000004 C _mypath libconfig config
-00000004 C _defpath libconfig config
-00000004 C _ctxpath libconfig config
-00000004 C _m_defs libconfig config
-00000004 D _version libconfig version
-00000200 C _wantcomp libmh fmtcompile
-0000002c C _fmt_mnull libmh formatsbr
-00000004 D _fd_def libmh m_getdefs
-00000004 D _fd_ctx libmh m_getdefs
-00000004 D _fmt_norm libmh formatdef
-00000004 D _msg_count libmh m_msgdef
-00000004 D _msg_style libmh m_msgdef
-00000004 D _msg_delim libmh m_msgdef
-00000408 C _sm_reply libmts smail
-0000002c C _EHLOkeys libmts smail
-00000004 D _mmdfldir libzot mts
-00000004 D _mmdflfil libzot mts
-00000004 D _uucpldir libzot mts
-00000004 D _uucplfil libzot mts
-00000004 D _mmdlm1 libzot mts
-00000004 D _mmdlm2 libzot mts
-00000004 D _umincproc libzot mts
-00000004 D _lockstyle libzot mts
-00000004 D _lockldir libzot mts
-00000004 D _hostable libzot mts
-00000004 D _sendmail libzot mts
-00000004 D _clientname libzot mts
-00000004 D _servers libzot mts
-00000004 D _pophost libzot mts
-00000004 D _bb_domain libzot mts
-00000004 D __DUMMY__ libzot mts
-00000004 D __DUMMY__ libzot mts
-00000004 D __DUMMY__ libzot mts
-00000004 D _maildelivery libzot mts
-00000004 D _Everyone libzot mts
-00000004 D _NoShell libzot mts
-00000004 D _europeandate libzot dtimep
-00000360 D _yyvstop libzot dtimep
-00002488 D _yycrank libzot dtimep
-000013b0 D _yysvec libzot dtimep
-00000004 D _yytop libzot dtimep
-00000004 D _yybgin libzot dtimep
-00000104 D _yymatch libzot dtimep
-00000034 D _yyextra libzot dtimep
-00000034 D _tw_moty libzot dtime
-00000020 D _tw_dotw libzot dtime
-00000020 D _tw_ldotw libzot dtime
diff --git a/docs/historical/mh-6.8.5/local/linux/linux-conf.MH
b/docs/historical/mh-6.8.5/local/linux/linux-conf.MH
deleted file mode 100644
index e824fba..0000000
--- a/docs/historical/mh-6.8.5/local/linux/linux-conf.MH
+++ /dev/null
@@ -1,30 +0,0 @@
-# @(#)$Id: MH,v 1.7 90/04/06 09:44:31 sources Exp $
-# Linux i386
-bin /usr/bin/mh
-bboards off
-etc /usr/lib/mh
-mail /usr/spool/mail
-mandir /usr/man
-manuals standard
-chown /bin/chown
-cc cc
-ccoptions -traditional -D_NFILE='getdtablesize()' -DSIGEMT=SIGUSR1 -O2
-ldoptions
-ldoptlibs -ldbm
-lex flex
-ranlib on
-mts sendmail/smtp
-bbdelivery off
-bbhome /usr/spool/bboards
-pop on
-popdir /usr/sbin
-signal void
-sprintf int
-mailgroup mail
-# MH has never worked properly with terminfo, to my knowledge. It looks
-# like vmh still tries to play the internals game, which is bound to fail.
-curses -lcurses -ltermcap
-# This is POSIX. Building Linux software for BSD is almost always a mistake.
-options SYS5 MORE='"/usr/bin/more"' RENAME SYS5DIR UNISTD SVR4 MIME
-options VSPRINTF MHE OVERHEAD RPATHS DUMB ATHENA BIND SOCKETS NTOHLSWAP
-options DPOP POP2 RPOP MHRC
\ No newline at end of file
diff --git a/docs/historical/mh-6.8.5/local/linux/linux-conf.config.mtstailor
b/docs/historical/mh-6.8.5/local/linux/linux-conf.config.mtstailor
deleted file mode 100644
index c5dd52a..0000000
--- a/docs/historical/mh-6.8.5/local/linux/linux-conf.config.mtstailor
+++ /dev/null
@@ -1,12 +0,0 @@
-mmdfldir: @(MHDROPATH)
-mmdflfil: @(MHDROPFIL)
-uucpldir: /usr/spool/mail
-uucplfil:
-mmdelim1: \001\001\001\001\n
-mmdelim2: \001\001\001\001\n
-mmailid: 0
-umincproc:
-lockldir:
-
-hostable: @(MHETCPATH)/hosts
-sendmail: /usr/lib/sendmail
diff --git a/docs/historical/mh-6.8.5/local/linux/linux-dtimep.c-lexed
b/docs/historical/mh-6.8.5/local/linux/linux-dtimep.c-lexed
deleted file mode 100644
index e3fddcf..0000000
--- a/docs/historical/mh-6.8.5/local/linux/linux-dtimep.c-lexed
+++ /dev/null
@@ -1,1672 +0,0 @@
-# include <stdio.h>
-static int start_cond = 0;
-#define BEGIN start_cond =
-struct yysvf {
- struct yywork *yystoff;
- struct yysvf *yyother;
- int *yystops;};
-# define Z 2
-#ifndef lint
-static char ident[] = "@(#)$Id: dtimep.lex,v 2.15 1993/02/26 22:07:40 jromine
Exp $";
-#endif
-#include "tws.h"
-#include "../h/strings.h"
-#include <ctype.h>
-#include <sys/types.h>
-#if !defined(SYS5) && !defined(ZONEINFO)
-#include <sys/timeb.h>
-#endif /* !defined(SYS5) && !defined(ZONEINFO) */
-
-#ifdef SYS5
-extern int daylight;
-extern long timezone;
-extern char *tzname[];
-#endif /* SYS5 */
-
-
-# line 54 "dtimep.lex"
-/*
- * Patchable flag that says how to interpret NN/NN/NN dates. When
- * true, we do it European style: DD/MM/YY. When false, we do it
- * American style: MM/DD/YY. Of course, these are all non-RFC822
- * compliant.
- */
-int europeandate = 0;
-
-
-# line 62 "dtimep.lex"
-/*
- * Table to convert month names to numeric month. We use the
- * fact that the low order 5 bits of the sum of the 2nd & 3rd
- * characters of the name is a hash with no collisions for the 12
- * valid month names. (The mask to 5 bits maps any combination of
- * upper and lower case into the same hash value).
- */
-static int month_map[] = {
- 0,
- 6, /* 1 - Jul */
- 3, /* 2 - Apr */
- 5, /* 3 - Jun */
- 0,
- 10, /* 5 - Nov */
- 0,
- 1, /* 7 - Feb */
- 11, /* 8 - Dec */
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0, /*15 - Jan */
- 0,
- 0,
- 0,
- 2, /*19 - Mar */
- 0,
- 8, /*21 - Sep */
- 0,
- 9, /*23 - Oct */
- 0,
- 0,
- 4, /*26 - May */
- 0,
- 7 /*28 - Aug */
-};
-
-# line 100 "dtimep.lex"
-/*
- * Same trick for day-of-week using the hash function
- * (c1 & 7) + (c2 & 4)
- */
-static int day_map[] = {
- 0,
- 0,
- 0,
- 6, /* 3 - Sat */
- 4, /* 4 - Thu */
- 0,
- 5, /* 6 - Fri */
- 0, /* 7 - Sun */
- 2, /* 8 - Tue */
- 1 /* 9 - Mon */,
- 0,
- 3 /*11 - Wed */
-};
-#define SETDAY { tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\
- tw.tw_flags &= ~TW_SDAY; tw.tw_flags |= TW_SEXP;\
- cp += 2; }
-#define SETMONTH { tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\
- cp += 2;\
- SKIPD;}
-#define CVT1OR2 (i=(*cp++ - '0'), isdigit(*cp)? i*10 + (*cp++ - '0') :
i)
-#define CVT2 ((cp[0] - '0')*10 + (cp[1] - '0'))
-#define CVT4 ((((cp[0] - '0')*10 + (cp[1] - '0'))*10 + \
- (cp[2] - '0'))*10 + (cp[3] - '0'))
-#define SKIPD { while ( !isdigit(*cp++) ) ; --cp; }
-#define EXPZONE { tw.tw_flags &= ~TW_SZONE; tw.tw_flags |= TW_SZEXP; }
-#define ZONE(x) { tw.tw_zone=(x); EXPZONE; }
-#define ZONED(x) { ZONE(x); tw.tw_flags |= TW_DST; }
-#define LC(c) (isupper (c) ? tolower (c) : (c))
-
-#ifdef DSTXXX
-#ifdef _AIX
-#include <sys/time.h>
-#include <time.h>
-#else
-#ifndef BSD42
-#include <time.h>
-#else /* BSD42 */
-#include <sys/time.h>
-#endif /* BSD42 */
-#endif
-
-static zonehack (tw)
-register struct tws *tw;
-{
- register struct tm *tm;
-
- if (twclock (tw) == -1L)
- return;
-
- tm = localtime (&tw -> tw_clock);
- if (tm -> tm_isdst) {
- tw -> tw_flags |= TW_DST;
- tw -> tw_zone -= 60;
- }
-}
-#endif /* DSTXXX */
-struct tws *dparsetime (str)
- char *str;
-{
- register int i;
- static struct tws tw;
- register char *cp;
- register int gotdate = 0;
-#ifndef SYS5
-#ifdef ZONEINFO
- struct tm *tm;
- time_t clock;
-#else
- struct timeb tb;
-#endif /* ZONEINFO */
-#endif /* not SYS5 */
- long tclock;
-
- start_cond = 0;
-
- /* Zero out the struct. */
- bzero( (char *) &tw, sizeof tw);
-
- /* Set default time zone. */
-#ifdef SYS5
- tzset( );
- tw.tw_zone = -(timezone / 60);
-#else
-#ifdef ZONEINFO
- time (&clock);
- tm = localtime(&clock);
- tw.tw_zone = tm->tm_gmtoff / 60;
- if (tm -> tm_isdst) /* if DST is in effect */
- tw.tw_zone -= 60; /* reset to normal offset */
-#else
- ftime( &tb );
- tw.tw_zone = -tb.timezone;
-#endif /* ZONEINFO */
-#endif /* SYS5 */
-
- while (isspace(*str))
- str++;
- while ( 1 )
- switch (cp = str, *cp ? lex_string( &str, start_cond) : 0) {
-
- case -1:
- if (!gotdate || tw.tw_year == 0)
- return (struct tws *)0;
- /* fall through */
- case 0:
- if ( tw.tw_year == 0 ) {
- /* Set default year. */
- time (&tclock);
- tw.tw_year = localtime(&tclock)->tm_year + 1900;
- }
- else if (tw.tw_year < 100) {
- /* assume no 2-digit years > 1999 */
- tw.tw_year += 1900;
- }
- return &tw;
-
-case 1:
-
-# line 224 "dtimep.lex"
- SETDAY;
-break;
-case 2:
-
-# line 225 "dtimep.lex"
- {
- cp++;
- SETDAY;
- }
-break;
-case 3:
-
-# line 229 "dtimep.lex"
-{
- if (europeandate) {
- /* European: DD/MM/YY */
- tw.tw_mday = CVT1OR2;
- cp++;
- tw.tw_mon = CVT1OR2 - 1;
- } else {
- /* American: MM/DD/YY */
- tw.tw_mon = CVT1OR2 - 1;
- cp++;
- tw.tw_mday = CVT1OR2;
- }
- cp++;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i;
- gotdate++; /* XXX */
- }
-break;
-case 4:
-
-# line 247 "dtimep.lex"
- {
- if (europeandate) {
- tw.tw_mday = CVT1OR2; cp++;
- tw.tw_mon = CVT1OR2 - 1;
- } else {
- tw.tw_mon = CVT1OR2 - 1; cp++;
- tw.tw_mday = CVT1OR2;
- }
- gotdate++;
- }
-break;
-case 5:
-
-# line 257 "dtimep.lex"
-{
- tw.tw_mday = CVT1OR2;
- while ( !isalpha(*cp++) )
- ;
- SETMONTH;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i;
- }
-break;
-case 6:
-
-# line 266 "dtimep.lex"
- {
- tw.tw_mday = CVT1OR2;
- while ( ! isalpha( *cp++ ) )
- ;
- SETMONTH;
- }
-break;
-case 7:
-
-# line 272 "dtimep.lex"
-{
- cp++;
- SETMONTH;
- tw.tw_mday = CVT1OR2;
- SKIPD;
- for (i = 0; isdigit(*cp); )
- i = i*10 + (*cp++ - '0');
- tw.tw_year = i;
- }
-break;
-case 8:
-
-# line 281 "dtimep.lex"
- {
- cp++;
- SETMONTH;
- tw.tw_mday = CVT1OR2;
- }
-break;
-case 9:
-
-# line 287 "dtimep.lex"
- { /* hack: ctime w/o TZ */
- tw.tw_hour = CVT1OR2; cp++;
- tw.tw_min = CVT1OR2; cp++;
- tw.tw_sec = CVT1OR2;
- SKIPD;
- tw.tw_year = CVT4; cp+=4;
- }
-break;
-case 10:
-
-# line 294 "dtimep.lex"
- {
- tw.tw_hour = CVT1OR2; cp++;
- tw.tw_min = CVT1OR2; cp++;
- tw.tw_sec = CVT1OR2;
- BEGIN Z;
- }
-break;
-case 11:
-
-# line 300 "dtimep.lex"
- {
- tw.tw_hour = CVT1OR2; cp++;
- tw.tw_min = CVT1OR2;
- BEGIN Z;
- }
-break;
-case 12:
-
-# line 305 "dtimep.lex"
- {
- tw.tw_hour = CVT1OR2; cp++;
- if (tw.tw_hour == 12)
- tw.tw_hour = 0;
- tw.tw_min = CVT1OR2;
- BEGIN Z;
- }
-break;
-case 13:
-
-# line 312 "dtimep.lex"
- {
- tw.tw_hour = CVT1OR2; cp++;
- if (tw.tw_hour == 12)
- tw.tw_hour = 0;
- tw.tw_min = CVT1OR2; cp++;
- tw.tw_sec = CVT1OR2;
- BEGIN Z;
- }
-break;
-case 14:
-
-# line 320 "dtimep.lex"
- {
- tw.tw_hour = CVT1OR2; cp++;
- if (tw.tw_hour != 12)
- tw.tw_hour += 12;
- tw.tw_min = CVT1OR2;
- BEGIN Z;
- }
-break;
-case 15:
-
-# line 327 "dtimep.lex"
- {
- tw.tw_hour = CVT1OR2; cp++;
- if (tw.tw_hour != 12)
- tw.tw_hour += 12;
- tw.tw_min = CVT1OR2; cp++;
- tw.tw_sec = CVT1OR2;
- BEGIN Z;
- }
-break;
-case 16:
-
-# line 335 "dtimep.lex"
- {
- tw.tw_hour = CVT2; cp+=2;
- tw.tw_min = CVT2; cp+=2;
- tw.tw_sec = CVT2; cp+=2;
- BEGIN Z;
- }
-break;
-case 17:
-
-# line 341 "dtimep.lex"
- {
- /*
- * Luckly, 4 digit times in the range
- * 1960-1999 aren't legal as hour
- * and minutes.
- */
- tw.tw_year = CVT4; cp+=4;
- }
-break;
-case 18:
-
-# line 349 "dtimep.lex"
- {
- if (tw.tw_hour || tw.tw_min
- || tw.tw_sec) {
- tw.tw_year = CVT4; cp+=4;
- tw.tw_zone = 0;
- } else {
- tw.tw_hour = CVT2; cp+=2;
- tw.tw_min = CVT2; cp+=2;
- BEGIN Z;
- }
- }
-break;
-case 19:
-
-# line 360 "dtimep.lex"
- ZONE(0 * 60);
-break;
-case 20:
-
-# line 361 "dtimep.lex"
- ZONE(0 * 60);
-break;
-case 21:
-
-# line 362 "dtimep.lex"
- ZONE(2 * 60);
-break;
-case 22:
-
-# line 363 "dtimep.lex"
- ZONED(2 * 60);
-break;
-case 23:
-
-# line 364 "dtimep.lex"
- ZONE(-5 * 60);
-break;
-case 24:
-
-# line 365 "dtimep.lex"
- ZONED(-5 * 60);
-break;
-case 25:
-
-# line 366 "dtimep.lex"
- ZONE(-6 * 60);
-break;
-case 26:
-
-# line 367 "dtimep.lex"
- ZONED(-6 * 60);
-break;
-case 27:
-
-# line 368 "dtimep.lex"
- ZONE(-7 * 60);
-break;
-case 28:
-
-# line 369 "dtimep.lex"
- ZONED(-7 * 60);
-break;
-case 29:
-
-# line 370 "dtimep.lex"
- ZONE(-8 * 60);
-break;
-case 30:
-
-# line 371 "dtimep.lex"
- ZONED(-8 * 60);
-break;
-case 31:
-
-# line 372 "dtimep.lex"
- ZONE(-(3 * 60 + 30));
-break;
-case 32:
-
-# line 373 "dtimep.lex"
- ZONE(-4 * 60);
-break;
-case 33:
-
-# line 374 "dtimep.lex"
- ZONED(-4 * 60);
-break;
-case 34:
-
-# line 375 "dtimep.lex"
- ZONE(-9 * 60);
-break;
-case 35:
-
-# line 376 "dtimep.lex"
- ZONED(-9 * 60);
-break;
-case 36:
-
-# line 377 "dtimep.lex"
- ZONE(-10 * 60);
-break;
-case 37:
-
-# line 378 "dtimep.lex"
- ZONED(-10 * 60);
-break;
-case 38:
-
-# line 379 "dtimep.lex"
- ZONED(-1 * 60);
-break;
-case 39:
-
-# line 380 "dtimep.lex"
- {
- tw.tw_zone = 60 * (('a'-1) - LC(*cp));
- EXPZONE;
- }
-break;
-case 40:
-
-# line 384 "dtimep.lex"
- {
- tw.tw_zone = 60 * ('a' - LC(*cp));
- EXPZONE;
- }
-break;
-case 41:
-
-# line 388 "dtimep.lex"
- {
- tw.tw_zone = 60 * (LC(*cp) - 'm');
- EXPZONE;
- }
-break;
-case 42:
-
-# line 392 "dtimep.lex"
- {
- cp++;
- tw.tw_zone = ((cp[0] * 10 + cp[1])
- -('0' * 10 + '0'))*60
- +((cp[2] * 10 + cp[3])
- -('0' * 10 + '0'));
- EXPZONE;
-#ifdef DSTXXX
- zonehack (&tw);
-#endif /* DSTXXX */
- cp += 4;
- }
-break;
-case 43:
-
-# line 404 "dtimep.lex"
- {
- cp++;
- tw.tw_zone = (('0' * 10 + '0')
- -(cp[0] * 10 + cp[1]))*60
- +(('0' * 10 + '0')
- -(cp[2] * 10 + cp[3]));
- EXPZONE;
-#ifdef DSTXXX
- zonehack (&tw);
-#endif /* DSTXXX */
- cp += 4;
- }
-break;
-case 44:
-
-# line 416 "dtimep.lex"
- {
- SKIPD;
- tw.tw_year = CVT4; cp+=4;
- }
-break;
-case 45:
-
-# line 420 "dtimep.lex"
-case 46:
-
-# line 421 "dtimep.lex"
-;
-break;
- default: return(0);
-} }
-/* end of yylex */
-int yyvstop[] = {
-0,
-
-46,
-0,
-
-45,
-0,
-
-46,
-0,
-
-39,
-0,
-
-39,
-0,
-
-39,
-0,
-
-39,
-0,
-
-39,
-0,
-
-39,
-0,
-
-39,
-0,
-
-39,
-0,
-
-39,
-0,
-
-40,
-0,
-
-40,
-0,
-
-41,
-0,
-
-41,
-0,
-
-41,
-0,
-
-41,
-0,
-
-41,
-0,
-
-41,
-0,
-
-41,
-0,
-
-41,
-0,
-
-41,
-0,
-
-19,
-0,
-
-4,
-0,
-
-4,
-0,
-
-11,
-0,
-
-1,
-0,
-
-1,
-0,
-
-1,
-0,
-
-1,
-0,
-
-1,
-0,
-
-1,
-0,
-
-1,
-0,
-
-33,
-0,
-
-32,
-0,
-
-38,
-0,
-
-26,
-0,
-
-25,
-0,
-
-24,
-0,
-
-23,
-0,
-
-20,
-0,
-
-37,
-0,
-
-36,
-0,
-
-22,
-0,
-
-21,
-0,
-
-28,
-0,
-
-27,
-0,
-
-31,
-0,
-
-30,
-0,
-
-29,
-0,
-
-35,
-0,
-
-34,
-0,
-
-4,
-0,
-
-4,
-0,
-
-4,
-0,
-
-18,
-0,
-
-11,
-0,
-
-11,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-6,
-0,
-
-17,
-18,
-0,
-
-1,
-0,
-
-2,
-0,
-
-18,
-0,
-
-10,
-0,
-
-12,
-0,
-
-14,
-0,
-
-6,
-0,
-
-17,
-18,
-0,
-
-8,
-0,
-
-44,
-0,
-
-42,
-0,
-
-43,
-0,
-
-2,
-0,
-
-3,
-0,
-
-16,
-0,
-
-10,
-0,
-
-10,
-0,
-
-5,
-0,
-
-8,
-0,
-
-8,
-0,
-
-1,
-0,
-
-3,
-0,
-
-3,
-0,
-
-13,
-0,
-
-15,
-0,
-
-6,
-0,
-
-5,
-0,
-
-5,
-0,
-
-5,
-0,
-
-5,
-0,
-
-7,
-0,
-
-9,
-0,
-
-7,
-0,
-
-7,
-0,
-0};
-# define YYTYPE int
-struct yywork { YYTYPE verify, advance; } yycrank[] = {
-0,0, 0,0, 0,0, 0,0,
-0,0, 0,0, 0,0, 0,0,
-0,0, 0,0, 1,5, 1,6,
-5,5, 0,0, 0,0, 0,0,
-0,0, 0,0, 0,0, 0,0,
-0,0, 0,0, 0,0, 0,0,
-0,0, 0,0, 0,0, 0,0,
-0,0, 0,0, 0,0, 0,0,
-0,0, 1,5, 0,0, 5,5,
-3,21, 3,6, 0,0, 0,0,
-0,0, 1,7, 0,0, 0,0,
-0,0, 0,0, 0,0, 0,0,
-0,0, 1,8, 1,9, 1,8,
-1,10, 1,10, 1,10, 1,10,
-1,10, 1,10, 1,10, 3,21,
-9,63, 22,83, 22,83, 0,0,
-0,0, 0,0, 0,0, 3,7,
-0,0, 0,0, 3,22, 0,0,
-3,23, 0,0, 0,0, 3,8,
-3,9, 3,8, 3,10, 3,10,
-3,10, 3,10, 3,10, 3,10,
-3,10, 10,64, 10,64, 10,64,
-10,64, 10,64, 10,64, 10,64,
-10,64, 10,64, 10,64, 0,0,
-0,0, 0,0, 1,11, 15,72,
-59,143, 1,12, 14,70, 1,13,
-12,67, 13,68, 17,75, 1,14,
-19,79, 20,81, 1,15, 1,16,
-1,17, 15,73, 11,65, 16,74,
-1,18, 1,19, 13,69, 11,66,
-1,20, 19,80, 14,71, 25,99,
-3,24, 3,25, 3,26, 3,27,
-3,28, 3,29, 3,30, 3,31,
-3,32, 3,33, 3,34, 3,34,
-3,35, 3,36, 3,37, 3,38,
-3,39, 3,39, 3,40, 3,41,
-3,42, 3,39, 3,43, 3,39,
-3,44, 7,45, 8,50, 18,76,
-26,100, 28,102, 30,104, 18,77,
-7,46, 24,97, 42,114, 45,117,
-31,105, 21,21, 7,47, 7,48,
-23,84, 23,84, 7,49, 26,101,
-28,103, 24,65, 38,112, 18,78,
-24,98, 8,50, 24,66, 31,106,
-36,74, 46,118, 49,123, 56,139,
-36,111, 57,140, 55,137, 60,144,
-21,21, 38,113, 8,51, 55,138,
-8,52, 8,53, 8,53, 8,53,
-8,53, 8,53, 8,53, 8,53,
-8,53, 8,53, 8,53, 8,54,
-21,82, 21,82, 21,82, 21,82,
-21,82, 21,82, 21,82, 21,82,
-21,82, 21,82, 47,119, 61,145,
-62,146, 23,85, 23,86, 23,87,
-44,115, 23,88, 35,72, 23,89,
-23,90, 35,109, 23,91, 50,50,
-33,70, 23,92, 23,93, 33,107,
-23,94, 58,141, 47,120, 44,116,
-35,73, 23,95, 65,148, 48,121,
-35,110, 23,96, 8,55, 51,124,
-66,149, 8,56, 33,108, 8,57,
-33,71, 67,150, 50,50, 8,58,
-48,122, 58,142, 8,59, 8,60,
-8,61, 68,151, 69,152, 70,153,
-8,62, 73,158, 71,154, 50,124,
-71,155, 74,159, 51,124, 52,134,
-52,134, 52,134, 52,134, 52,134,
-52,134, 52,134, 52,134, 52,134,
-52,134, 75,160, 76,161, 77,162,
-78,163, 79,164, 51,133, 51,133,
-51,133, 51,133, 51,133, 51,133,
-51,133, 51,133, 51,133, 51,133,
-53,135, 53,135, 53,135, 53,135,
-53,135, 53,135, 53,135, 53,135,
-53,135, 53,135, 54,136, 54,136,
-54,136, 54,136, 54,136, 54,136,
-54,136, 54,136, 54,136, 54,136,
-72,156, 80,165, 81,166, 50,125,
-93,111, 85,97, 50,126, 72,157,
-50,127, 97,170, 91,107, 92,109,
-50,128, 64,50, 98,171, 50,129,
-50,130, 50,131, 99,172, 51,55,
-85,98, 50,132, 51,56, 100,173,
-51,57, 91,108, 92,110, 101,174,
-51,58, 102,175, 103,176, 51,59,
-51,60, 51,61, 104,177, 105,178,
-64,50, 51,62, 63,135, 63,135,
-63,135, 63,135, 63,135, 63,135,
-63,147, 63,147, 63,147, 63,147,
-106,179, 64,51, 107,180, 64,52,
-82,167, 82,167, 82,167, 82,167,
-82,167, 82,167, 82,167, 82,167,
-82,167, 82,167, 64,54, 83,168,
-83,168, 83,168, 83,168, 83,168,
-83,168, 83,168, 83,168, 83,168,
-83,168, 84,169, 84,169, 84,169,
-84,169, 84,169, 84,169, 84,169,
-84,169, 84,169, 84,169, 108,181,
-109,182, 110,183, 111,184, 112,185,
-113,186, 115,187, 116,188, 117,189,
-118,190, 119,191, 120,192, 121,193,
-122,194, 123,195, 124,124, 126,198,
-125,196, 64,55, 127,199, 128,200,
-64,56, 125,197, 64,57, 129,202,
-130,203, 131,204, 64,58, 132,205,
-133,206, 64,59, 64,60, 64,61,
-137,216, 138,217, 139,218, 64,62,
-140,219, 124,124, 141,220, 128,201,
-134,206, 135,210, 135,210, 135,210,
-135,210, 135,210, 135,210, 135,210,
-135,210, 135,210, 135,210, 133,206,
-142,221, 143,223, 142,222, 144,225,
-145,226, 146,227, 153,236, 155,157,
-143,224, 158,238, 159,239, 134,206,
-133,207, 160,240, 162,242, 133,208,
-133,208, 133,208, 133,208, 133,208,
-133,208, 133,208, 133,208, 133,208,
-133,208, 148,229, 134,207, 134,209,
-134,209, 134,209, 134,209, 134,209,
-134,209, 134,209, 134,209, 134,209,
-134,209, 136,211, 147,228, 147,228,
-147,228, 147,228, 147,228, 147,228,
-147,228, 147,228, 147,228, 147,228,
-148,229, 149,229, 124,125, 150,229,
-154,229, 124,126, 163,243, 124,127,
-190,252, 192,254, 196,258, 124,128,
-136,211, 191,250, 124,129, 124,130,
-124,131, 151,229, 156,229, 152,234,
-124,132, 157,229, 161,234, 164,234,
-149,229, 165,234, 150,229, 154,229,
-136,212, 136,212, 136,212, 136,212,
-136,212, 136,212, 136,212, 136,212,
-136,212, 136,212, 136,213, 166,234,
-151,229, 156,229, 152,234, 194,250,
-157,229, 161,234, 164,234, 189,250,
-165,234, 195,250, 193,250, 197,259,
-198,260, 199,261, 152,234, 200,262,
-203,267, 161,234, 164,234, 201,263,
-165,234, 201,264, 166,234, 167,247,
-167,247, 167,247, 167,247, 167,247,
-167,247, 167,247, 167,247, 167,247,
-167,247, 148,230, 166,234, 204,268,
-205,269, 136,214, 168,248, 168,248,
-168,248, 168,248, 168,248, 168,248,
-168,248, 168,248, 168,248, 168,248,
-206,206, 191,253, 208,207, 209,207,
-136,215, 212,213, 214,274, 150,232,
-169,249, 169,249, 169,249, 169,249,
-169,249, 169,249, 169,249, 169,249,
-169,249, 169,249, 189,251, 202,265,
-156,237, 149,231, 152,235, 206,206,
-210,271, 211,211, 202,266, 215,275,
-154,157, 194,256, 195,257, 220,283,
-222,224, 225,285, 151,233, 193,255,
-226,286, 227,287, 230,157, 231,290,
-164,244, 232,291, 161,241, 165,245,
-233,292, 235,293, 236,294, 210,271,
-211,211, 237,157, 238,295, 239,296,
-166,246, 207,270, 207,270, 207,270,
-207,270, 207,270, 207,270, 207,270,
-207,270, 207,270, 207,270, 210,272,
-210,272, 210,272, 210,272, 210,272,
-210,272, 210,272, 210,272, 210,272,
-210,272, 213,273, 213,273, 213,273,
-213,273, 213,273, 213,273, 213,273,
-213,273, 213,273, 213,273, 240,297,
-228,288, 234,234, 241,298, 242,299,
-243,300, 244,301, 245,302, 216,276,
-246,303, 247,304, 247,304, 247,304,
-247,304, 247,304, 247,304, 247,304,
-247,304, 247,304, 247,304, 250,307,
-251,308, 252,309, 217,276, 228,288,
-234,234, 253,310, 254,311, 255,312,
-256,313, 211,214, 216,276, 257,314,
-276,330, 258,266, 260,266, 279,224,
-218,276, 265,266, 280,332, 281,333,
-282,334, 283,335, 284,224, 216,277,
-211,215, 217,276, 216,278, 216,278,
-216,278, 216,278, 216,278, 216,278,
-216,278, 216,278, 216,278, 216,278,
-258,266, 260,266, 217,277, 218,276,
-265,266, 217,278, 217,278, 217,278,
-217,278, 217,278, 217,278, 217,278,
-217,278, 217,278, 217,278, 219,276,
-218,277, 259,266, 285,336, 218,278,
-218,278, 218,278, 218,278, 218,278,
-218,278, 218,278, 218,278, 218,278,
-218,278, 264,266, 263,266, 286,337,
-287,338, 290,157, 291,342, 292,343,
-293,344, 294,345, 219,276, 296,346,
-259,266, 221,276, 266,266, 271,271,
-297,347, 274,274, 262,266, 216,279,
-298,348, 299,349, 301,350, 219,277,
-264,266, 263,266, 219,278, 219,278,
-219,278, 219,278, 219,278, 219,278,
-219,278, 219,278, 219,278, 219,278,
-221,276, 266,266, 271,271, 223,276,
-274,274, 262,266, 260,317, 265,320,
-218,281, 258,315, 217,280, 261,266,
-268,266, 221,277, 269,266, 275,275,
-221,278, 221,278, 221,278, 221,278,
-221,278, 221,278, 221,278, 221,278,
-221,278, 221,278, 223,276, 302,351,
-303,352, 224,276, 267,266, 288,288,
-308,353, 310,354, 261,266, 268,266,
-312,355, 269,266, 275,275, 223,277,
-229,229, 313,356, 223,278, 223,278,
-223,278, 223,278, 223,278, 223,278,
-223,278, 223,278, 223,278, 223,278,
-224,276, 267,266, 288,288, 314,357,
-219,282, 264,266, 315,266, 316,358,
-317,359, 259,316, 318,360, 229,229,
-319,361, 224,277, 320,266, 321,362,
-224,278, 224,278, 224,278, 224,278,
-224,278, 224,278, 224,278, 224,278,
-224,278, 224,278, 263,266, 229,289,
-229,289, 229,289, 229,289, 229,289,
-229,289, 229,289, 229,289, 229,289,
-229,289, 221,224, 262,319, 322,363,
-323,364, 223,284, 248,305, 248,305,
-248,305, 248,305, 248,305, 248,305,
-248,305, 248,305, 248,305, 248,305,
-249,306, 249,306, 249,306, 249,306,
-249,306, 249,306, 249,306, 249,306,
-249,306, 249,306, 268,322, 328,368,
-261,318, 329,369, 330,370, 332,224,
-273,326, 269,323, 267,321, 270,324,
-270,324, 270,324, 270,324, 270,324,
-270,324, 270,324, 270,324, 270,324,
-270,324, 272,325, 272,325, 272,325,
-272,325, 272,325, 272,325, 272,325,
-272,325, 272,325, 272,325, 273,326,
-333,373, 334,374, 277,277, 278,331,
-278,331, 278,331, 278,331, 278,331,
-278,331, 278,331, 278,331, 278,331,
-278,331, 324,365, 325,325, 273,327,
-273,327, 273,327, 273,327, 273,327,
-273,327, 273,327, 273,327, 273,327,
-273,327, 277,277, 335,375, 336,376,
-289,339, 337,377, 338,378, 341,340,
-342,380, 343,381, 344,234, 345,157,
-324,365, 325,325, 346,382, 347,157,
-348,383, 277,278, 277,278, 277,278,
-277,278, 277,278, 277,278, 277,278,
-277,278, 277,278, 277,278, 289,339,
-324,366, 324,366, 324,366, 324,366,
-324,366, 324,366, 324,366, 324,366,
-324,366, 324,366, 326,326, 289,340,
-273,328, 327,326, 331,371, 289,341,
-289,341, 289,341, 289,341, 289,341,
-289,341, 289,341, 289,341, 289,341,
-289,341, 339,339, 340,379, 273,329,
-349,384, 350,385, 352,386, 353,250,
-354,387, 326,326, 355,388, 357,389,
-327,326, 331,371, 358,266, 359,390,
-360,391, 361,392, 362,393, 363,394,
-364,395, 365,365, 367,396, 373,399,
-339,339, 340,379, 326,367, 374,400,
-375,224, 331,372, 331,372, 331,372,
-331,372, 331,372, 331,372, 331,372,
-331,372, 331,372, 331,372, 368,368,
-369,369, 370,370, 371,371, 376,401,
-365,365, 366,365, 366,365, 366,365,
-366,365, 366,365, 366,365, 366,365,
-366,365, 366,365, 366,365, 377,224,
-378,402, 384,404, 386,405, 389,406,
-390,407, 391,408, 368,368, 369,369,
-370,370, 371,371, 392,266, 379,379,
-393,409, 394,266, 395,410, 397,412,
-402,413, 410,415, 326,328, 398,371,
-412,412, 327,328, 372,398, 372,398,
-372,398, 372,398, 372,398, 372,398,
-372,398, 372,398, 372,398, 372,398,
-0,0, 326,329, 379,379, 0,0,
-327,329, 396,411, 396,411, 396,411,
-396,411, 0,0, 398,371, 412,412,
-0,0, 0,0, 0,0, 414,417,
-417,417, 0,0, 379,403, 379,403,
-379,403, 379,403, 379,403, 379,403,
-379,403, 379,403, 379,403, 379,403,
-403,414, 403,414, 403,414, 403,414,
-403,414, 403,414, 403,414, 403,414,
-403,414, 403,414, 414,417, 417,417,
-0,0, 0,0, 371,397, 411,416,
-411,416, 411,416, 411,416, 411,416,
-411,416, 411,416, 411,416, 411,416,
-411,416, 0,0, 414,418, 414,418,
-414,418, 414,418, 414,418, 414,418,
-414,418, 414,418, 414,418, 414,418,
-418,417, 418,417, 418,417, 418,417,
-418,417, 418,417, 418,417, 418,417,
-418,417, 418,417, 0,0, 0,0,
-0,0};
-struct yysvf yysvec[] = {
-0, 0, 0,
-yycrank+1, 0, 0,
-yycrank+0, yysvec+1, 0,
-yycrank+27, 0, 0,
-yycrank+0, yysvec+3, 0,
-yycrank+3, 0, yyvstop+1,
-yycrank+0, 0, yyvstop+3,
-yycrank+47, 0, 0,
-yycrank+141, 0, 0,
-yycrank+3, yysvec+8, 0,
-yycrank+37, yysvec+8, 0,
-yycrank+2, 0, 0,
-yycrank+3, 0, 0,
-yycrank+4, 0, 0,
-yycrank+5, 0, 0,
-yycrank+2, 0, 0,
-yycrank+4, 0, 0,
-yycrank+7, 0, 0,
-yycrank+54, 0, 0,
-yycrank+4, 0, 0,
-yycrank+8, 0, 0,
-yycrank+152, 0, yyvstop+5,
-yycrank+13, 0, 0,
-yycrank+116, 0, 0,
-yycrank+57, 0, yyvstop+7,
-yycrank+8, 0, yyvstop+9,
-yycrank+52, 0, yyvstop+11,
-yycrank+0, yysvec+12, yyvstop+13,
-yycrank+53, 0, yyvstop+15,
-yycrank+0, yysvec+13, yyvstop+17,
-yycrank+45, 0, yyvstop+19,
-yycrank+60, 0, yyvstop+21,
-yycrank+0, 0, yyvstop+23,
-yycrank+127, 0, 0,
-yycrank+0, 0, yyvstop+25,
-yycrank+121, 0, yyvstop+27,
-yycrank+65, 0, yyvstop+29,
-yycrank+0, yysvec+17, yyvstop+31,
-yycrank+70, 0, yyvstop+33,
-yycrank+0, 0, yyvstop+35,
-yycrank+0, yysvec+18, yyvstop+37,
-yycrank+0, yysvec+19, yyvstop+39,
-yycrank+42, 0, yyvstop+41,
-yycrank+0, yysvec+20, yyvstop+43,
-yycrank+116, 0, yyvstop+45,
-yycrank+45, 0, 0,
-yycrank+66, 0, 0,
-yycrank+113, 0, 0,
-yycrank+131, 0, 0,
-yycrank+77, 0, 0,
-yycrank+214, 0, 0,
-yycrank+230, 0, 0,
-yycrank+215, 0, 0,
-yycrank+240, yysvec+8, 0,
-yycrank+250, 0, 0,
-yycrank+70, 0, 0,
-yycrank+78, 0, 0,
-yycrank+80, 0, 0,
-yycrank+132, 0, 0,
-yycrank+3, 0, 0,
-yycrank+72, 0, 0,
-yycrank+112, 0, 0,
-yycrank+111, 0, 0,
-yycrank+298, yysvec+8, 0,
-yycrank+312, 0, 0,
-yycrank+120, 0, 0,
-yycrank+137, 0, 0,
-yycrank+146, 0, 0,
-yycrank+155, 0, 0,
-yycrank+149, 0, 0,
-yycrank+145, 0, 0,
-yycrank+150, 0, 0,
-yycrank+194, 0, 0,
-yycrank+147, 0, 0,
-yycrank+143, 0, 0,
-yycrank+157, 0, 0,
-yycrank+158, 0, 0,
-yycrank+163, 0, 0,
-yycrank+166, 0, 0,
-yycrank+160, 0, 0,
-yycrank+208, 0, 0,
-yycrank+210, 0, 0,
-yycrank+312, 0, 0,
-yycrank+323, 0, 0,
-yycrank+333, 0, 0,
-yycrank+213, 0, 0,
-yycrank+0, yysvec+25, 0,
-yycrank+0, yysvec+26, 0,
-yycrank+0, yysvec+28, 0,
-yycrank+0, yysvec+30, 0,
-yycrank+0, yysvec+31, 0,
-yycrank+218, 0, 0,
-yycrank+219, 0, 0,
-yycrank+197, 0, 0,
-yycrank+0, yysvec+38, 0,
-yycrank+0, yysvec+42, 0,
-yycrank+0, yysvec+44, 0,
-yycrank+201, 0, 0,
-yycrank+206, 0, 0,
-yycrank+210, 0, 0,
-yycrank+215, 0, 0,
-yycrank+219, 0, 0,
-yycrank+221, 0, 0,
-yycrank+222, 0, 0,
-yycrank+226, 0, 0,
-yycrank+227, 0, 0,
-yycrank+240, 0, 0,
-yycrank+242, 0, 0,
-yycrank+275, 0, 0,
-yycrank+276, 0, 0,
-yycrank+277, 0, 0,
-yycrank+278, 0, 0,
-yycrank+279, 0, 0,
-yycrank+280, 0, 0,
-yycrank+0, 0, yyvstop+47,
-yycrank+281, 0, 0,
-yycrank+282, 0, 0,
-yycrank+294, 0, 0,
-yycrank+290, 0, 0,
-yycrank+285, 0, 0,
-yycrank+292, 0, 0,
-yycrank+286, 0, 0,
-yycrank+303, 0, 0,
-yycrank+305, 0, 0,
-yycrank+397, 0, 0,
-yycrank+296, 0, 0,
-yycrank+306, 0, 0,
-yycrank+309, 0, 0,
-yycrank+314, 0, 0,
-yycrank+318, 0, 0,
-yycrank+305, 0, 0,
-yycrank+318, 0, 0,
-yycrank+318, 0, 0,
-yycrank+411, 0, yyvstop+49,
-yycrank+423, 0, yyvstop+51,
-yycrank+385, 0, 0,
-yycrank+472, 0, yyvstop+53,
-yycrank+310, 0, 0,
-yycrank+322, 0, 0,
-yycrank+327, 0, 0,
-yycrank+330, 0, 0,
-yycrank+320, 0, 0,
-yycrank+336, 0, 0,
-yycrank+331, 0, 0,
-yycrank+329, 0, 0,
-yycrank+332, 0, 0,
-yycrank+337, 0, 0,
-yycrank+434, 0, 0,
-yycrank+460, 0, 0,
-yycrank+484, 0, 0,
-yycrank+486, 0, 0,
-yycrank+500, 0, 0,
-yycrank+502, 0, yyvstop+55,
-yycrank+333, yysvec+149, 0,
-yycrank+487, 0, 0,
-yycrank+350, yysvec+150, 0,
-yycrank+501, 0, 0,
-yycrank+504, 0, 0,
-yycrank+353, yysvec+152, yyvstop+57,
-yycrank+353, yysvec+150, 0,
-yycrank+346, yysvec+157, 0,
-yycrank+505, 0, yyvstop+59,
-yycrank+342, yysvec+157, 0,
-yycrank+398, yysvec+152, yyvstop+61,
-yycrank+506, 0, yyvstop+63,
-yycrank+508, 0, yyvstop+65,
-yycrank+522, 0, yyvstop+67,
-yycrank+507, 0, 0,
-yycrank+522, 0, 0,
-yycrank+540, 0, 0,
-yycrank+0, 0, yyvstop+69,
-yycrank+0, 0, yyvstop+71,
-yycrank+0, 0, yyvstop+73,
-yycrank+0, 0, yyvstop+75,
-yycrank+0, 0, yyvstop+77,
-yycrank+0, 0, yyvstop+79,
-yycrank+0, 0, yyvstop+81,
-yycrank+0, 0, yyvstop+83,
-yycrank+0, 0, yyvstop+85,
-yycrank+0, 0, yyvstop+87,
-yycrank+0, 0, yyvstop+89,
-yycrank+0, 0, yyvstop+91,
-yycrank+0, 0, yyvstop+93,
-yycrank+0, 0, yyvstop+95,
-yycrank+0, 0, yyvstop+97,
-yycrank+0, 0, yyvstop+99,
-yycrank+0, 0, yyvstop+101,
-yycrank+0, 0, yyvstop+103,
-yycrank+0, 0, yyvstop+105,
-yycrank+498, 0, 0,
-yycrank+400, yysvec+189, 0,
-yycrank+464, 0, 0,
-yycrank+401, yysvec+189, 0,
-yycrank+501, 0, 0,
-yycrank+494, 0, 0,
-yycrank+500, 0, 0,
-yycrank+388, 0, 0,
-yycrank+440, 0, 0,
-yycrank+445, 0, 0,
-yycrank+447, 0, 0,
-yycrank+437, 0, 0,
-yycrank+443, 0, 0,
-yycrank+485, 0, 0,
-yycrank+430, 0, 0,
-yycrank+451, 0, 0,
-yycrank+456, 0, 0,
-yycrank+571, 0, yyvstop+107,
-yycrank+585, 0, 0,
-yycrank+537, yysvec+206, yyvstop+109,
-yycrank+536, yysvec+206, yyvstop+111,
-yycrank+595, 0, yyvstop+113,
-yycrank+596, 0, yyvstop+115,
-yycrank+527, yysvec+211, yyvstop+117,
-yycrank+605, 0, 0,
-yycrank+477, 0, 0,
-yycrank+498, 0, 0,
-yycrank+662, 0, yyvstop+119,
-yycrank+677, 0, yyvstop+121,
-yycrank+691, 0, yyvstop+123,
-yycrank+726, 0, yyvstop+125,
-yycrank+494, yysvec+217, yyvstop+127,
-yycrank+752, 0, yyvstop+129,
-yycrank+511, yysvec+218, yyvstop+131,
-yycrank+778, 0, yyvstop+133,
-yycrank+804, 0, yyvstop+135,
-yycrank+512, yysvec+218, yyvstop+137,
-yycrank+505, yysvec+224, yyvstop+139,
-yycrank+501, yysvec+224, yyvstop+141,
-yycrank+655, yysvec+210, yyvstop+143,
-yycrank+815, 0, 0,
-yycrank+510, 0, 0,
-yycrank+504, 0, 0,
-yycrank+512, 0, 0,
-yycrank+507, 0, 0,
-yycrank+656, 0, yyvstop+146,
-yycrank+528, 0, 0,
-yycrank+529, 0, 0,
-yycrank+525, 0, 0,
-yycrank+533, 0, 0,
-yycrank+522, 0, 0,
-yycrank+565, 0, 0,
-yycrank+552, 0, 0,
-yycrank+566, 0, 0,
-yycrank+571, 0, 0,
-yycrank+554, 0, 0,
-yycrank+570, 0, 0,
-yycrank+571, 0, 0,
-yycrank+625, 0, 0,
-yycrank+830, 0, 0,
-yycrank+840, 0, 0,
-yycrank+639, 0, yyvstop+148,
-yycrank+587, 0, 0,
-yycrank+588, 0, 0,
-yycrank+575, 0, 0,
-yycrank+593, 0, 0,
-yycrank+576, 0, 0,
-yycrank+592, 0, 0,
-yycrank+594, 0, 0,
-yycrank+688, yysvec+216, 0,
-yycrank+728, yysvec+217, 0,
-yycrank+689, yysvec+218, 0,
-yycrank+786, yysvec+219, 0,
-yycrank+757, yysvec+217, 0,
-yycrank+741, yysvec+221, 0,
-yycrank+740, yysvec+218, 0,
-yycrank+692, yysvec+223, 0,
-yycrank+753, yysvec+224, 0,
-yycrank+805, yysvec+218, 0,
-yycrank+787, yysvec+224, 0,
-yycrank+789, yysvec+224, 0,
-yycrank+859, 0, 0,
-yycrank+754, 0, yyvstop+150,
-yycrank+869, 0, 0,
-yycrank+895, 0, yyvstop+152,
-yycrank+756, 0, yyvstop+154,
-yycrank+790, 0, yyvstop+156,
-yycrank+599, yysvec+224, yyvstop+158,
-yycrank+921, 0, 0,
-yycrank+883, 0, 0,
-yycrank+591, 0, 0,
-yycrank+587, 0, 0,
-yycrank+594, 0, 0,
-yycrank+587, 0, 0,
-yycrank+608, 0, 0,
-yycrank+602, 0, 0,
-yycrank+629, 0, 0,
-yycrank+653, 0, 0,
-yycrank+651, 0, 0,
-yycrank+806, 0, yyvstop+160,
-yycrank+947, 0, yyvstop+163,
-yycrank+637, 0, 0,
-yycrank+656, 0, 0,
-yycrank+658, 0, 0,
-yycrank+635, 0, 0,
-yycrank+643, 0, 0,
-yycrank+0, yysvec+293, 0,
-yycrank+661, 0, 0,
-yycrank+663, 0, 0,
-yycrank+668, 0, 0,
-yycrank+660, 0, 0,
-yycrank+0, yysvec+293, 0,
-yycrank+670, 0, 0,
-yycrank+714, 0, 0,
-yycrank+697, 0, 0,
-yycrank+0, 0, yyvstop+165,
-yycrank+0, 0, yyvstop+167,
-yycrank+0, 0, yyvstop+169,
-yycrank+0, 0, yyvstop+171,
-yycrank+695, 0, 0,
-yycrank+0, yysvec+308, 0,
-yycrank+717, 0, 0,
-yycrank+0, yysvec+308, 0,
-yycrank+720, 0, 0,
-yycrank+728, 0, 0,
-yycrank+724, 0, 0,
-yycrank+734, 0, 0,
-yycrank+728, 0, 0,
-yycrank+735, 0, 0,
-yycrank+729, 0, 0,
-yycrank+751, 0, 0,
-yycrank+746, 0, 0,
-yycrank+742, 0, 0,
-yycrank+777, 0, 0,
-yycrank+775, 0, 0,
-yycrank+932, 0, yyvstop+173,
-yycrank+933, 0, yyvstop+175,
-yycrank+981, 0, yyvstop+177,
-yycrank+984, 0, yyvstop+179,
-yycrank+790, 0, 0,
-yycrank+792, 0, 0,
-yycrank+786, 0, 0,
-yycrank+985, 0, yyvstop+181,
-yycrank+787, 0, 0,
-yycrank+830, 0, 0,
-yycrank+832, 0, 0,
-yycrank+840, 0, 0,
-yycrank+857, 0, 0,
-yycrank+856, 0, 0,
-yycrank+849, 0, 0,
-yycrank+996, 0, yyvstop+183,
-yycrank+997, 0, 0,
-yycrank+915, yysvec+339, yyvstop+185,
-yycrank+859, 0, 0,
-yycrank+847, 0, 0,
-yycrank+918, yysvec+234, yyvstop+187,
-yycrank+842, 0, 0,
-yycrank+865, 0, 0,
-yycrank+853, 0, 0,
-yycrank+871, 0, 0,
-yycrank+910, 0, 0,
-yycrank+912, 0, 0,
-yycrank+0, yysvec+293, 0,
-yycrank+910, 0, 0,
-yycrank+970, 0, 0,
-yycrank+915, 0, 0,
-yycrank+917, 0, 0,
-yycrank+0, yysvec+308, 0,
-yycrank+915, 0, 0,
-yycrank+902, 0, 0,
-yycrank+921, 0, 0,
-yycrank+923, 0, 0,
-yycrank+907, 0, 0,
-yycrank+924, 0, 0,
-yycrank+922, 0, 0,
-yycrank+915, 0, 0,
-yycrank+1016, 0, yyvstop+189,
-yycrank+1001, yysvec+324, yyvstop+191,
-yycrank+969, 0, 0,
-yycrank+1034, 0, yyvstop+193,
-yycrank+1035, 0, yyvstop+195,
-yycrank+1036, 0, yyvstop+197,
-yycrank+1037, 0, yyvstop+199,
-yycrank+1034, yysvec+331, yyvstop+201,
-yycrank+926, 0, 0,
-yycrank+917, 0, 0,
-yycrank+911, 0, 0,
-yycrank+946, 0, 0,
-yycrank+945, 0, 0,
-yycrank+962, 0, 0,
-yycrank+1062, 0, 0,
-yycrank+0, yysvec+347, 0,
-yycrank+0, yysvec+345, 0,
-yycrank+0, yysvec+347, 0,
-yycrank+0, yysvec+293, 0,
-yycrank+960, 0, 0,
-yycrank+0, yysvec+293, 0,
-yycrank+965, 0, 0,
-yycrank+0, yysvec+308, 0,
-yycrank+0, yysvec+308, 0,
-yycrank+966, 0, 0,
-yycrank+963, 0, 0,
-yycrank+951, 0, 0,
-yycrank+949, 0, 0,
-yycrank+971, 0, 0,
-yycrank+959, 0, 0,
-yycrank+976, 0, 0,
-yycrank+1043, 0, 0,
-yycrank+959, 0, 0,
-yycrank+1070, 0, yyvstop+203,
-yycrank+0, yysvec+377, 0,
-yycrank+0, yysvec+375, 0,
-yycrank+0, yysvec+377, 0,
-yycrank+975, 0, 0,
-yycrank+1072, 0, 0,
-yycrank+0, yysvec+347, 0,
-yycrank+0, yysvec+293, 0,
-yycrank+0, yysvec+308, 0,
-yycrank+0, yysvec+394, 0,
-yycrank+0, yysvec+392, 0,
-yycrank+0, yysvec+394, 0,
-yycrank+976, 0, 0,
-yycrank+1087, 0, 0,
-yycrank+1071, 0, yyvstop+205,
-yycrank+0, yysvec+377, 0,
-yycrank+1098, 0, yyvstop+207,
-yycrank+0, yysvec+394, 0,
-yycrank+0, 0, yyvstop+209,
-yycrank+1099, 0, yyvstop+211,
-yycrank+1108, yysvec+414, yyvstop+213,
-0, 0, 0};
-struct yywork *yytop = yycrank+1165;
-struct yysvf *yybgin = yysvec+1;
-char yymatch[] = {
-00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,011 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-'0' ,'0' ,'2' ,'3' ,'3' ,'3' ,'6' ,'6' ,
-'6' ,'6' ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' ,
-'a' ,'a' ,01 ,'k' ,'k' ,'k' ,'n' ,'n' ,
-'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,
-'n' ,'n' ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-0};
-char yyextra[] = {
-0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,
-0};
-/* Copyright (c) 1989 AT&T */
-/* All Rights Reserved */
-
-/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
-/* The copyright notice above does not evidence any */
-/* actual or intended publication of such source code. */
-
-#ident "@(#)ncform 6.4 92/06/19 SMI"
-
diff --git a/docs/historical/mh-6.8.5/local/linux/mh-6.8.3-diffs.tgz
b/docs/historical/mh-6.8.5/local/linux/mh-6.8.3-diffs.tgz
deleted file mode 100644
index 4052be6..0000000
Binary files a/docs/historical/mh-6.8.5/local/linux/mh-6.8.3-diffs.tgz and
/dev/null differ
diff --git a/docs/historical/mh-6.8.5/local/linux/mh-6.8.3.README
b/docs/historical/mh-6.8.5/local/linux/mh-6.8.3.README
deleted file mode 100644
index 5cd0a18..0000000
--- a/docs/historical/mh-6.8.5/local/linux/mh-6.8.3.README
+++ /dev/null
@@ -1,68 +0,0 @@
-MH 6.8.3 for Linux
-==================
-
-This distribution consists of two packages: mh-6.8.3-bin.tar.gz contains
-shared binaries, and mh-6.8.3-patch.tar.gz contains patches to the UCI MH
-6.8.3 distribution. The patches will allow the building of shared or static
-binaries, although the implementation is still a bit of a hack. You may
-download either or both packages, depending on whether you want sources,
-binaries, or both.
-
-You will need to add a user for POP, and another for BBoards. I used:
-
-pop:x:13:13:POP administrator:/usr/lib/mh:/bin/sh
-bboards:x:14:14:BBoards administrator:/usr/spool/bboards:/bin/sh
-
-Do this before unpacking the binary distribution to avoid problems with buggy
-versions of GNU tar, or before installing binaries built from the source
-patch distribution. (Note that the BBoards spool area is not included in the
-binary distribution.)
-
-mh-6.8.3-bin.tar.gz should be unpacked from the root directory. It places
-files in /usr/bin/mh, /usr/lib/mh, and /usr/sbin (popd), installs manpages in
-/usr.man/man?/*.?mh, and installs the MH shared library libmh.so.2.0 in /lib.
-(WARNING!!! The internals of MH have changed; you can not use the older
-shared library with the new binaries, or vice versa.) Add /usr/bin/mh to your
-PATH and you're set. (Ed. note: I don't want to hear about the choice of
-directories. Complain to the FSSTND folks if you don't like it, or grab the
-source package and recompile it with different paths.)
-
-mh-6.8.3-patch.tar.gz can be unpacked anywhere, although it's convenient to
-unpack it into the top directory of the UCI MH distribution. After unpacking,
-issue the commands:
-
-patch -p0 -N < DIFFS-pre
-cp -f MH conf/MH
-(cd conf/mh; make; mhconfig MH)
-make clean
-
-(If you want to change the configuration, edit conf/MH after the cp -f.)
-
-If you want to build shared binaries, you must issue the command:
-
-patch -p0 -N < DIFFS-post
-
-after the "make clean" step. Depending on what changes you may have made to
-conf/MH, you may see several failures; you will need to patch those files
-manually. Eventually, I will get this into the distribution makefiles and the
-post-patch won't be necessary.
-
-!!! If you do not patch the binaries, you may want to edit doc/Makefile and
-!!! change the definitions of MAN1EXT, MAN5EXT, and MAN8EXT to add the "mh"
-!!! suffix to the manpages when they are installed. This can not easily be
-!!! done automatically; fixing it will require some changes to mhconfig.
-
-Everything is now ready: "make" will build the distribution. (You will see
-various warnings because NULL is defined as "(void *) 0" instead of simply
-"0", and for shared binaries the DLL tools will complain about relative
-JUMP_DIR settings. The alternative having been to hardcode the full pathname,
-forcing everyone to unpack MH in /varopt, I chose to accept the warnings.)
-
-"make install" will place the binaries and configuration files in the
-appropriate locations, and will install libmh.so.2.0 in /lib and run ldconfig.
-
-If you need help building MH beyond this, I suggest reading the file READ-ME
-in the top level of the UCI MH distribution.
-
-Brandon S. Allbery
address@hidden
diff --git a/docs/historical/mh-6.8.5/local/linux/mh-6.8.3.lsm
b/docs/historical/mh-6.8.5/local/linux/mh-6.8.3.lsm
deleted file mode 100644
index 8a89d9b..0000000
--- a/docs/historical/mh-6.8.5/local/linux/mh-6.8.3.lsm
+++ /dev/null
@@ -1,25 +0,0 @@
-Begin3
-Title: mh (The RAND MH Message Handling System)
-Version: 6.8.3
-Entered-date: 1DEC95
-Description: MH is a flexible mail management system which uses individual
- shell-level commands to manage various aspects of mail
- maintenance. These commands can be used as is or combined via
- shell scripts to allow arbitrary mail manipulation. User
- interfaces such as xmh and exmh and mh-e can easily be
- implemented on top of its commands.
-Keywords: RAND Mail Handler MH UCI POP BBoards
-Author: address@hidden <John L. Romine>
-Maintained-by: address@hidden <Brandon S. Allbery> for the Linux Port
-Primary-site: louie.udel.edu /pub/portal
- 1269485 mh-6.8.tar.gz
-Alternate-site: sunsite.unc.edu /pub/Linux/games/x11/networked
- 1306309 mh-6.8.3-src.tgz
- 649682 mh-6.8.3-bin.tar.gz
- 22812 mh-6.8.3-diffs.tar.gz
- 3147 mh-6.8.3.README
-Original-site: ftp.ics.uci.edu /pub/mh/tar
- 1961283 mh-6.8.3.tar.Z
-Platform: Many *nix
-Copying-policy: public domain
-End
diff --git a/docs/historical/mh-6.8.5/local/rdist_script
b/docs/historical/mh-6.8.5/local/rdist_script
deleted file mode 100755
index be259ee..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_script
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/csh -f
-#
-# Script to run rdist in order to update the Sun-3 filesservers
-#
-if (`hostname` == 'ics.uci.edu') then
- cd /usr/local/bin
- rdist -f /usr/src/bs/mh-6.6/rdist_update_usrlocal.sequent
- cd /usr/local/lib/mh
- rdist -f /usr/src/bs/mh-6.6/rdist_update_lib.sequent
- rdist -f /usr/src/bs/mh-6.6/rdist_update_others.sequent
-else if (`hostname` == 'f.ics.uci.edu') then
- cd /usr/local
- rdist -f /usr/src/bs/mh-6.6/rdist_update_usrlocal.is68k
- cd /usr/local/lib/mh
- rdist -f /usr/src/bs/mh-6.6/rdist_update_lib.is68k
- rdist -f /usr/src/bs/mh-6.6/rdist_update_others.is68k
-else
- cd /usr/local
- rdist -f /usr/src/bs/mh-6.6/rdist_update_usrlocal.`arch`
- cd /usr/local/lib/mh
- rdist -f /usr/src/bs/mh-6.6/rdist_update_lib.`arch`
- rdist -f /usr/src/bs/mh-6.6/rdist_update_others.`arch`
-endif
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_lib.is68k
b/docs/historical/mh-6.8.5/local/rdist_update_lib.is68k
deleted file mode 100644
index ecc2304..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_lib.is68k
+++ /dev/null
@@ -1,7 +0,0 @@
-FILES = (tmac.h spost rcvtty rcvstore rcvpack rcvdist post mhl install-mh
- dp conflict ap popwrd popaka mtstailor scan.timely scan.mailx
- mhl.body mhl.forward mhl.format mhl.digest replcomps rcvdistcomps
- forwcomps distcomps digestcomps components scan.size scan.time)
-
-${FILES} -> (cip1 cip4)
- install /usr/uci/lib/mh ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_lib.sequent
b/docs/historical/mh-6.8.5/local/rdist_update_lib.sequent
deleted file mode 100644
index f482ab8..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_lib.sequent
+++ /dev/null
@@ -1,7 +0,0 @@
-FILES = (tmac.h spost rcvtty rcvstore rcvpack rcvdist post mhl install-mh
- dp conflict ap popwrd popaka mtstailor scan.timely scan.mailx
- mhl.body mhl.forward mhl.format mhl.digest replcomps rcvdistcomps
- forwcomps distcomps digestcomps components scan.size scan.time)
-
-${FILES} -> (bonnie)
- install /usr/local/lib/mh ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_lib.sun3
b/docs/historical/mh-6.8.5/local/rdist_update_lib.sun3
deleted file mode 100644
index b8b9a41..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_lib.sun3
+++ /dev/null
@@ -1,11 +0,0 @@
-FILES = (tmac.h spost rcvtty rcvstore rcvpack rcvdist post mhl install-mh
- dp conflict ap popwrd popaka mtstailor scan.timely scan.mailx
- mhl.body mhl.forward mhl.format mhl.digest replcomps rcvdistcomps
- forwcomps distcomps digestcomps components scan.size scan.time)
-
-${FILES} -> (rome europe pompe cadet madeleine cad harlie
- cecil beanie london)
- install /usr.MC68020/uci/lib/mh ;
-
-${FILES} -> (etoile commerce)
- install /usr/uci/lib/mh ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_others.is68k
b/docs/historical/mh-6.8.5/local/rdist_update_others.is68k
deleted file mode 100644
index 8a1a015..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_others.is68k
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/etc/popd -> (icsf cip1 cip4)
- install /usr/etc/popd ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_others.sequent
b/docs/historical/mh-6.8.5/local/rdist_update_others.sequent
deleted file mode 100644
index 262b982..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_others.sequent
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/etc/popd -> (ics bonnie)
- install /usr/etc/popd ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_others.sun3
b/docs/historical/mh-6.8.5/local/rdist_update_others.sun3
deleted file mode 100644
index d0b2497..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_others.sun3
+++ /dev/null
@@ -1,3 +0,0 @@
-/usr/etc/popd -> (rome europe pompe cadet madeleine cad harlie cecil beanie
- london etoile commerce)
- install /usr/etc/popd ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.is68k
b/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.is68k
deleted file mode 100644
index 29f6100..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.is68k
+++ /dev/null
@@ -1,6 +0,0 @@
-FILES = (ali anno bbc bbl burst comp dist folder folders forw inc mark mhmail
- mhpath msgchk msh packf pick prompter refile repl rmf rmm scan send
- show next prev sortm vmh whatnow whom)
-
-${FILES} -> (cip1 cip4)
- install /usr/uci ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sequent
b/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sequent
deleted file mode 100644
index cf5d17e..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sequent
+++ /dev/null
@@ -1,6 +0,0 @@
-FILES = (ali anno bbc bbl burst comp dist folder folders forw inc mark mhmail
- mhpath msgchk msh packf pick prompter refile repl rmf rmm scan send
- show next prev sortm vmh whatnow whom)
-
-${FILES} -> (bonnie)
- install /usr/local/bin ;
diff --git a/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sun3
b/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sun3
deleted file mode 100644
index 8026885..0000000
--- a/docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sun3
+++ /dev/null
@@ -1,10 +0,0 @@
-FILES = (ali anno bbc bbl burst comp dist folder folders forw inc mark mhmail
- mhpath msgchk msh packf pick prompter refile repl rmf rmm scan send
- show next prev sortm vmh whatnow whom)
-
-${FILES} -> (rome europe etoile pompe commerce cadet madeleine cad harlie
- cecil beanie london)
- install /usr.MC68020/uci ;
-
-${FILES} -> (etoile commerce)
- install /usr/uci ;
diff --git a/docs/historical/mh-6.8.5/local/tmp/mh-6.8-bsdi.patch
b/docs/historical/mh-6.8.5/local/tmp/mh-6.8-bsdi.patch
deleted file mode 100644
index 10481e9..0000000
--- a/docs/historical/mh-6.8.5/local/tmp/mh-6.8-bsdi.patch
+++ /dev/null
@@ -1,2148 +0,0 @@
-From address@hidden Mon Mar 1 11:50:20 1993
-Received: by IEDVB.acd.com (5.57/Ultrix2.3-C)
- id AA10693; Mon, 1 Mar 93 11:50:20 -0500
-Received: by acd4.acd.com (5.57/Ultrix2.4-C)
- id AA15842; Mon, 1 Mar 93 11:51:42 EST
-Received: from banjo.concert.net by relay1.UU.NET with SMTP
- (5.61/UUNET-internet-primary) id AA01965; Sun, 28 Feb 93 03:24:30 -0500
-Received: by banjo.concert.net (5.59/tas-concert/6-19-91)
- id AA28168; Sun, 28 Feb 93 02:07:16 -0500
-Message-Id: <address@hidden>
-To: address@hidden (Stephen Diercouff)
-Cc: address@hidden
-Subject: Re: BSDI MH patches
-In-Reply-To: <address@hidden>
-Mime-Version: 1.0
-Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
-Date: Sun, 28 Feb 1993 00:05:40 -0700
-From: Brad Huntting <address@hidden>
-Errors-To: address@hidden
-Sender: address@hidden
-Precedence: bulk
-X-Loop: address@hidden
-Status: RO
-
-
-
-------- =_aaaaaaaaaa0
-Content-Type: text/plain; charset="us-ascii"
-
-I seemed to have jumped the gun with respect to the mh patches...
-This batch has been tested (really!).
-
-
-brad
-
-------- =_aaaaaaaaaa0
-Content-Type: text/plain; charset="us-ascii"
-Content-Description: mh-6.8-patch
-
-diff -c /dev/null mh/conf/MH.bsd386:1.2
-*** /dev/null Tue Feb 9 07:41:52 1993
---- mh/conf/MH.bsd386 Tue Feb 9 07:41:54 1993
-***************
-*** 0 ****
---- 1,26 ----
-+ # a BSD386 system running SendMail
-+ cc cc
-+ bin /usr/contrib/mh/bin
-+ etc /usr/contrib/mh/lib
-+ mandir /usr/contrib/man
-+ mail /var/mail
-+ chown /usr/sbin/chown
-+ manuals gen
-+ mts sendmail/smtp
-+
-+ sprintf int
-+ signal void
-+ options BIND BSD42 BSD43 DBMPWD MORE='"/usr/bin/more"'
-+ options SYS5DIR NTOHLSWAP OVERHEAD VSPRINTF WHATNOW ZONEINFO
-+ options MHE MHRC MIME FLOCK
-+ options POSIX
-+
-+ #
-+ # POP
-+ #
-+ pop on
-+ popdir /usr/local/lib/mh
-+ #options APOP='"/etc/pop.auth"'
-+ #options DPOP
-+ #options MPOP
-+ options RPOP
-diff -c mh/conf/config/mtstailor:1.1.1.1 mh/conf/config/mtstailor:1.2
-*** mh/conf/config/mtstailor:1.1.1.1 Tue Feb 9 07:41:56 1993
---- mh/conf/config/mtstailor Tue Feb 9 07:41:56 1993
-***************
-*** 2,4 ****
---- 2,6 ----
- mmdflfil: @(MHDROPFIL)
- hostable: @(MHETCPATH)/hosts
- servers: localhost \01localnet
-+ sendmail: /usr/sbin/sendmail
-+ lockstyle: 0
-diff -c mh/conf/makefiles/sbr:1.1.1.1 mh/conf/makefiles/sbr:1.2
-*** mh/conf/makefiles/sbr:1.1.1.1 Tue Feb 9 07:42:05 1993
---- mh/conf/makefiles/sbr Tue Feb 9 07:42:06 1993
-***************
-*** 2,8 ****
- # Instructions to Make, for compilation of MH modules
- #
- # @(MHWARNING)
-! # @(#)$Id: sbr,v 2.19 1992/11/12 22:47:24 jromine Exp $
-
##############################################################################
-
- OPTIONS = @(MHOPTIONS)
---- 2,8 ----
- # Instructions to Make, for compilation of MH modules
- #
- # @(MHWARNING)
-! # @(#)$Id: sbr,v 1.1.1.1 1993/01/30 04:40:16 jtc Exp $
-
##############################################################################
-
- OPTIONS = @(MHOPTIONS)
-***************
-*** 47,53 ****
- makedir.c path.c peekc.c pidwait.c pidstatus.c \
- printsw.c push.c putenv.c pwd.c refile.c remdir.c r1bindex.c \
- showfile.c smatch.c sprintb.c ssequal.c strindex.c trimcpy.c \
-! uleq.c uprf.c vfgets.c formatdef.c m_msgdef.c
-
-
- OFILES = add.o adios.o admonish.o addrsbr.o advertise.o advise.o
\
---- 47,53 ----
- makedir.c path.c peekc.c pidwait.c pidstatus.c \
- printsw.c push.c putenv.c pwd.c refile.c remdir.c r1bindex.c \
- showfile.c smatch.c sprintb.c ssequal.c strindex.c trimcpy.c \
-! uleq.c uprf.c vfgets.c formatdef.c m_msgdef.c ruserpass.c
-
-
- OFILES = add.o adios.o admonish.o addrsbr.o advertise.o advise.o
\
-***************
-*** 63,69 ****
- makedir.o path.o peekc.o pidwait.o pidstatus.o \
- printsw.o push.o putenv.o pwd.o refile.o remdir.o r1bindex.o \
- showfile.o smatch.o sprintb.o ssequal.o strindex.o trimcpy.o \
-! uleq.o uprf.o vfgets.o formatdef.o m_msgdef.o
-
- @BEGIN: SHAREDLIB
- ODEFS = formatdef.o m_msgdef.o
---- 63,69 ----
- makedir.o path.o peekc.o pidwait.o pidstatus.o \
- printsw.o push.o putenv.o pwd.o refile.o remdir.o r1bindex.o \
- showfile.o smatch.o sprintb.o ssequal.o strindex.o trimcpy.o \
-! uleq.o uprf.o vfgets.o formatdef.o m_msgdef.o ruserpass.o
-
- @BEGIN: SHAREDLIB
- ODEFS = formatdef.o m_msgdef.o
-diff -c mh/conf/makefiles/zotnet/tws:1.1.1.1 mh/conf/makefiles/zotnet/tws:1.2
-*** mh/conf/makefiles/zotnet/tws:1.1.1.1 Tue Feb 9 07:42:11 1993
---- mh/conf/makefiles/zotnet/tws Tue Feb 9 07:42:11 1993
-***************
-*** 2,8 ****
- # Instructions to Make, for compilation of ZOT UIP/utility processes
- #
- # @(MHWARNING)
-! # @(#)$Id: tws,v 1.15 1992/11/18 16:54:16 jromine Exp $
-
##############################################################################
-
- # The following entries were inserted during MH configuration
---- 2,8 ----
- # Instructions to Make, for compilation of ZOT UIP/utility processes
- #
- # @(MHWARNING)
-! # @(#)$Id: tws,v 1.1.1.1 1993/01/30 04:40:19 jtc Exp $
-
##############################################################################
-
- # The following entries were inserted during MH configuration
-***************
-*** 71,76 ****
---- 71,78 ----
-
- dtimep.c: dtimep.lex
- $(LEX) dtimep.lex | sed -f lexedit.sed > dtimep.c
-+ len=`wc -l dtimep.c | awk ' { print $$1 } '`; \
-+ if [ $$len -eq 1 ]; then cp dtimep.c-lexed dtimep.c; fi
-
- lexstring.o: lexstring.c
- $(CC) $(CFLAGS) -c -DONECASE lexstring.c
-diff -c mh/dist/Makefile:1.1.1.1 mh/dist/Makefile:1.2
-*** mh/dist/Makefile:1.1.1.1 Tue Feb 9 07:42:15 1993
---- mh/dist/Makefile Tue Feb 9 07:42:15 1993
-***************
-*** 2,8 ****
- # Instructions to Make, for generation of MH documentation sets
- #
- # This file is automatically generated. Do not edit!
-! # @(#)$Id: dist,v 2.7 1992/12/02 22:21:43 jromine Exp $
-
##############################################################################
-
- MAKE = make DESTDIR=$(DESTDIR) $(MFLAGS) -k
---- 2,8 ----
- # Instructions to Make, for generation of MH documentation sets
- #
- # This file is automatically generated. Do not edit!
-! # @(#)$Id: dist,v 1.1.1.1 1993/01/30 04:40:16 jtc Exp $
-
##############################################################################
-
- MAKE = make DESTDIR=$(DESTDIR) $(MFLAGS) -k
-diff -c mh/h/mh.h:1.1.1.1 mh/h/mh.h:1.2
-*** mh/h/mh.h:1.1.1.1 Tue Feb 9 07:42:20 1993
---- mh/h/mh.h Tue Feb 9 07:42:20 1993
-***************
-*** 1,5 ****
- /* mh.h - main header file for all of MH */
-! /* @(#)$Id: mh.h,v 2.18 1992/12/14 17:10:43 jromine Exp $ */
-
-
- /* Well-used constants */
---- 1,5 ----
- /* mh.h - main header file for all of MH */
-! /* @(#)$Id: mh.h,v 1.1.1.1 1993/01/30 04:40:24 jtc Exp $ */
-
-
- /* Well-used constants */
-***************
-*** 332,338 ****
-
- /* should be in <stdio.h> */
-
-! #if !defined(SYS5) && !defined(ncr) && !defined(_AIX) && !defined(OSF1) &&
!defined(__convex__)
- typedef struct _iobuf *FP;
- FP popen ();
- #else /* SYS5 */
---- 332,338 ----
-
- /* should be in <stdio.h> */
-
-! #if !defined(SYS5) && !defined(ncr) && !defined(_AIX) && !defined(OSF1) &&
!defined(__convex__) && !defined(__386BSD__) && !defined(__bsdi__)
- typedef struct _iobuf *FP;
- FP popen ();
- #else /* SYS5 */
-diff -c mh/h/strings.h:1.1.1.1 mh/h/strings.h:1.2
-*** mh/h/strings.h:1.1.1.1 Tue Feb 9 07:42:21 1993
---- mh/h/strings.h Tue Feb 9 07:42:21 1993
-***************
-*** 1,5 ****
- /* strings.h - define standard string functions */
-! /* @(#)$Id: strings.h,v 1.18 1992/11/12 19:34:05 jromine Exp $ */
-
- #ifndef _STRINGS /* once-only... */
- #define _STRINGS
---- 1,5 ----
- /* strings.h - define standard string functions */
-! /* @(#)$Id: strings.h,v 1.1.1.1 1993/01/30 04:40:24 jtc Exp $ */
-
- #ifndef _STRINGS /* once-only... */
- #define _STRINGS
-***************
-*** 25,31 ****
- #endif /* SYS5 */
-
- #if defined(BSD42) || defined(SVR4)
-! #ifndef SVR4
- #include <strings.h>
- #else
- #include <string.h>
---- 25,31 ----
- #endif /* SYS5 */
-
- #if defined(BSD42) || defined(SVR4)
-! #if !defined(SVR4) && !defined(__386BSD__) && !defined(__bsdi__)
- #include <strings.h>
- #else
- #include <string.h>
-***************
-*** 51,57 ****
- char *strncpy ();
- #endif
-
-! #ifndef SVR4
- char *getenv ();
- char *calloc (), *malloc (), *realloc ();
- #endif /* SVR4 */
---- 51,57 ----
- char *strncpy ();
- #endif
-
-! #if !defined(SVR4) && !defined(__386BSD__) && !defined(__bsdi__)
- char *getenv ();
- char *calloc (), *malloc (), *realloc ();
- #endif /* SVR4 */
-diff -c mh/sbr/discard.c:1.1.1.1 mh/sbr/discard.c:1.2
-*** mh/sbr/discard.c:1.1.1.1 Tue Feb 9 07:43:22 1993
---- mh/sbr/discard.c Tue Feb 9 07:43:22 1993
-***************
-*** 1,13 ****
- /* discard.c - discard output on a file pointer */
- #ifndef lint
-! static char ident[] = "@(#)$Id: discard.c,v 1.6 1992/12/15 00:20:22 jromine
Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
- #include <stdio.h>
- #ifndef SYS5
- #include <sgtty.h>
-! #else /* SYS5 */
- #include <sys/types.h>
- #include <termio.h>
- #ifndef NOIOCTLH
---- 1,16 ----
- /* discard.c - discard output on a file pointer */
- #ifndef lint
-! static char ident[] = "@(#)$Id: discard.c,v 1.1.1.1 1993/01/30 04:41:24 jtc
Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
- #include <stdio.h>
-+ #ifdef POSIX
-+ #include <termios.h>
-+ #else
- #ifndef SYS5
- #include <sgtty.h>
-! #else
- #include <sys/types.h>
- #include <termio.h>
- #ifndef NOIOCTLH
-***************
-*** 14,33 ****
- #include <sys/ioctl.h>
- #endif /* NOIOCTLH */
- #endif /* SYS5 */
-!
-
- void discard (io)
- FILE *io;
- {
- #ifndef SYS5
- struct sgttyb sg;
- #else /* SYS5 */
- struct termio sg;
- #endif /* SYS5 */
-
- if (io == NULL)
- return;
-
- #ifndef SYS5
- if (ioctl (fileno (io), TIOCGETP, (char *) &sg) != NOTOK)
- (void) ioctl (fileno (io), TIOCSETP, (char *) &sg);
---- 17,41 ----
- #include <sys/ioctl.h>
- #endif /* NOIOCTLH */
- #endif /* SYS5 */
-! #endif /* POSIX */
-
- void discard (io)
- FILE *io;
- {
-+ #ifndef POSIX
- #ifndef SYS5
- struct sgttyb sg;
- #else /* SYS5 */
- struct termio sg;
- #endif /* SYS5 */
-+ #endif /* POSIX */
-
- if (io == NULL)
- return;
-
-+ #ifdef POSIX
-+ tcflush (fileno (io), TCOFLUSH);
-+ #else
- #ifndef SYS5
- if (ioctl (fileno (io), TIOCGETP, (char *) &sg) != NOTOK)
- (void) ioctl (fileno (io), TIOCSETP, (char *) &sg);
-***************
-*** 35,41 ****
---- 43,54 ----
- if (ioctl (fileno (io), TCGETA, &sg) != NOTOK)
- (void) ioctl (fileno (io), TCSETA, &sg);
- #endif /* SYS5 */
-+ #endif /* POSIX */
-
-+ #ifdef _FSTDIO
-+ fpurge (io);
-+ #else
- if (io -> _ptr = io -> _base)
- io -> _cnt = 0;
-+ #endif
- }
-diff -c mh/sbr/m_getfld.c:1.1.1.1 mh/sbr/m_getfld.c:1.2
-*** mh/sbr/m_getfld.c:1.1.1.1 Tue Feb 9 07:43:25 1993
---- mh/sbr/m_getfld.c Tue Feb 9 07:43:25 1993
-***************
-*** 1,6 ****
- /* m_getfld.c - read/parse a message */
- #ifndef lint
-! static char ident[] = "@(#)$Id: m_getfld.c,v 1.14 1992/10/31 07:44:56
jromine Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
---- 1,6 ----
- /* m_getfld.c - read/parse a message */
- #ifndef lint
-! static char ident[] = "@(#)$Id: m_getfld.c,v 1.1.1.1 1993/01/30 04:41:26 jtc
Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
-***************
-*** 170,175 ****
---- 170,181 ----
- static int edelimlen;
-
- static int (*eom_action) () = NULL;
-+
-+ #ifdef _FSTDIO
-+ #define _ptr _p /* Gag */
-+ #define _cnt _r /* Retch */
-+ #define _filbuf __srget /* Puke */
-+ #endif
-
- /* */
-
-diff -c /dev/null mh/sbr/ruserpass.c:1.1
-*** /dev/null Tue Feb 9 07:43:26 1993
---- mh/sbr/ruserpass.c Tue Feb 9 07:43:27 1993
-***************
-*** 0 ****
---- 1,216 ----
-+ /*
-+ * Copyright (c) 1985 Regents of the University of California.
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms are permitted
-+ * provided that the above copyright notice and this paragraph are
-+ * duplicated in all such forms and that any documentation,
-+ * advertising materials, and other materials related to such
-+ * distribution and use acknowledge that the software was developed
-+ * by the University of California, Berkeley. The name of the
-+ * University may not be used to endorse or promote products derived
-+ * from this software without specific prior written permission.
-+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-+ */
-+
-+ #ifndef lint
-+ static char sccsid[] = "@(#)ruserpass.c 5.1 (Berkeley) 3/1/89";
-+ #endif /* not lint */
-+
-+ #include <sys/types.h>
-+ #include <sys/stat.h>
-+ #include <stdio.h>
-+ #include <ctype.h>
-+ #include <pwd.h>
-+ #include <errno.h>
-+
-+ char *malloc(), *index(), *getenv(), *getpass(), *getlogin();
-+ char *strcpy();
-+ static FILE *cfile;
-+
-+ #ifndef MAXHOSTNAMELEN
-+ #define MAXHOSTNAMELEN 64
-+ #endif
-+
-+ #define DEFAULT 1
-+ #define LOGIN 2
-+ #define PASSWD 3
-+ #define ACCOUNT 4
-+ #define MACDEF 5
-+ #define ID 10
-+ #define MACH 11
-+
-+ static int token();
-+ static char tokval[100];
-+
-+ static struct toktab {
-+ char *tokstr;
-+ int tval;
-+ } toktab[]= {
-+ "default", DEFAULT,
-+ "login", LOGIN,
-+ "password", PASSWD,
-+ "passwd", PASSWD,
-+ "account", ACCOUNT,
-+ "machine", MACH,
-+ "macdef", MACDEF,
-+ 0, 0
-+ };
-+
-+ ruserpass(host, aname, apass)
-+ char *host, **aname, **apass;
-+ {
-+ char *hdir, buf[BUFSIZ], *tmp;
-+ char myname[MAXHOSTNAMELEN], *mydomain;
-+ int t, i, c, usedefault = 0;
-+ struct stat stb;
-+ extern int errno;
-+
-+ hdir = getenv("HOME");
-+ if (hdir == NULL)
-+ hdir = ".";
-+ (void) sprintf(buf, "%s/.netrc", hdir);
-+ cfile = fopen(buf, "r");
-+ if (cfile == NULL) {
-+ if (errno != ENOENT)
-+ perror(buf);
-+ goto done;
-+ }
-+
-+ while ((t = token())) switch(t) {
-+ case DEFAULT:
-+ usedefault = 1;
-+ /* FALL THROUGH */
-+
-+ case MACH:
-+ if (!usedefault) {
-+ if (token() != ID)
-+ continue;
-+ /*
-+ * Allow match either for user's host name.
-+ */
-+ if (strcasecmp(host, tokval) == 0)
-+ goto match;
-+ continue;
-+ }
-+ match:
-+ while ((t = token()) && t != MACH && t != DEFAULT) switch(t) {
-+
-+ case LOGIN:
-+ if (token() && *aname == 0) {
-+ *aname = malloc((unsigned) strlen(tokval) + 1);
-+ (void) strcpy(*aname, tokval);
-+ }
-+ break;
-+ case PASSWD:
-+ if (fstat(fileno(cfile), &stb) >= 0 &&
-+ (stb.st_mode & 077) != 0) {
-+ fprintf(stderr, "Error - .netrc file not correct mode.\n");
-+ fprintf(stderr, "Remove password or correct mode.\n");
-+ goto bad;
-+ }
-+ if (token() && *apass == 0) {
-+ *apass = malloc((unsigned) strlen(tokval) + 1);
-+ (void) strcpy(*apass, tokval);
-+ }
-+ break;
-+ case ACCOUNT:
-+ break;
-+
-+ case MACDEF:
-+ goto done_close;
-+ break;
-+ default:
-+ fprintf(stderr, "Unknown .netrc keyword %s\n", tokval);
-+ break;
-+ }
-+ goto done;
-+ }
-+
-+ done_close:
-+ (void) fclose(cfile);
-+
-+ done:
-+ if (!*aname) {
-+ char tmp[80];
-+ char *myname;
-+
-+ if ((myname = getlogin()) == NULL) {
-+ struct passwd *pp;
-+
-+ if ((pp = getpwuid (getuid())) != NULL)
-+ myname = pp->pw_name;
-+ }
-+ printf("Name (%s:%s): ", host, myname);
-+
-+ (void) fgets(tmp, sizeof(tmp) - 1, stdin);
-+ tmp[strlen(tmp) - 1] = '\0';
-+ if (*tmp != '\0') {
-+ myname = tmp;
-+ }
-+
-+ *aname = malloc((unsigned) strlen(myname) + 1);
-+ strcpy (*aname, myname);
-+ }
-+
-+ if (!*apass) {
-+ char prompt[256];
-+ char *mypass;
-+
-+ sprintf(prompt, "Password (%s:%s): ", host, *aname);
-+ mypass = getpass (prompt);
-+
-+ if (*mypass == '\0') {
-+ mypass = *aname;
-+ }
-+
-+ *apass = malloc((unsigned) strlen(mypass) + 1);
-+ strcpy (*apass, mypass);
-+ }
-+
-+ return(0);
-+ bad:
-+ (void) fclose(cfile);
-+ return(-1);
-+ }
-+
-+ static int
-+ token()
-+ {
-+ char *cp;
-+ int c;
-+ struct toktab *t;
-+
-+ if (feof(cfile))
-+ return (0);
-+ while ((c = getc(cfile)) != EOF &&
-+ (c == '\n' || c == '\t' || c == ' ' || c == ','))
-+ continue;
-+ if (c == EOF)
-+ return (0);
-+ cp = tokval;
-+ if (c == '"') {
-+ while ((c = getc(cfile)) != EOF && c != '"') {
-+ if (c == '\\')
-+ c = getc(cfile);
-+ *cp++ = c;
-+ }
-+ } else {
-+ *cp++ = c;
-+ while ((c = getc(cfile)) != EOF
-+ && c != '\n' && c != '\t' && c != ' ' && c != ',') {
-+ if (c == '\\')
-+ c = getc(cfile);
-+ *cp++ = c;
-+ }
-+ }
-+ *cp = 0;
-+ if (tokval[0] == 0)
-+ return (0);
-+ for (t = toktab; t->tokstr; t++)
-+ if (!strcmp(t->tokstr, tokval))
-+ return (t->tval);
-+ return (ID);
-+ }
-diff -c mh/uip/replsbr.c:1.1.1.1 mh/uip/replsbr.c:1.2
-*** mh/uip/replsbr.c:1.1.1.1 Tue Feb 9 07:43:44 1993
---- mh/uip/replsbr.c Tue Feb 9 07:43:45 1993
-***************
-*** 1,6 ****
- /* replsbr.c - routines to help repl along... */
- #ifndef lint
-! static char ident[] = "@(#)$Id: replsbr.c,v 1.13 1992/12/15 00:20:22 jromine
Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
---- 1,6 ----
- /* replsbr.c - routines to help repl along... */
- #ifndef lint
-! static char ident[] = "@(#)$Id: replsbr.c,v 1.1.1.1 1993/01/30 04:41:38 jtc
Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
-***************
-*** 422,427 ****
---- 422,431 ----
- (void) dup2 (fileno (out), fileno (stdout));
- closefds (3);
-
-+ #ifdef _FSTDIO
-+ /* <sigh> the code assumed that rewind does this. */
-+ lseek (fileno(stdin), 0, SEEK_SET);
-+ #endif
- execlp (mhlproc, mhl, "-form", filter, "-noclear", NULLCP);
- fprintf (stderr, "unable to exec ");
- perror (mhlproc);
-diff -c mh/uip/scansbr.c:1.1.1.1 mh/uip/scansbr.c:1.2
-*** mh/uip/scansbr.c:1.1.1.1 Tue Feb 9 07:43:46 1993
---- mh/uip/scansbr.c Tue Feb 9 07:43:46 1993
-***************
-*** 1,6 ****
- /* scansbr.c - routines to help scan along... */
- #ifndef lint
-! static char ident[] = "@(#)$Id: scansbr.c,v 1.13 1992/12/15 00:20:22 jromine
Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
---- 1,6 ----
- /* scansbr.c - routines to help scan along... */
- #ifndef lint
-! static char ident[] = "@(#)$Id: scansbr.c,v 1.1.1.1 1993/01/30 04:41:39 jtc
Exp $";
- #endif /* lint */
-
- #include "../h/mh.h"
-***************
-*** 13,18 ****
---- 13,22 ----
- #include <sys/types.h>
- #include <sys/stat.h>
-
-+ #ifdef _FSTDIO
-+ #define _ptr _p /* Gag */
-+ #define _cnt _w /* Wretch */
-+ #endif
-
- #define MAXSCANL 256 /* longest possible scan line */
- #define SBUFSIZ 512 /* buffer size for content part of header
-diff -c /dev/null mh/zotnet/tws/dtimep.c-lexed:1.1
-*** /dev/null Tue Feb 9 07:43:58 1993
---- mh/zotnet/tws/dtimep.c-lexed Tue Feb 9 07:43:58 1993
-***************
-*** 0 ****
---- 1,1346 ----
-+ # include "stdio.h"
-+ static int start_cond = 0;
-+ #define BEGIN start_cond =
-+ struct yysvf {
-+ struct yywork *yystoff;
-+ struct yysvf *yyother;
-+ int *yystops;};
-+ # define Z 2
-+ #ifndef lint
-+ static char ident[] = "@(#)$Id: dtimep.lex,v 1.1 1991/04/26 21:51:10 sww Exp
$";
-+ #endif
-+ #include "tws.h"
-+ #include "../h/strings.h"
-+ #include <ctype.h>
-+ #include <sys/types.h>
-+ #if !defined(SYS5) && !defined(ZONEINFO)
-+ #include <sys/timeb.h>
-+ #endif /* !defined(SYS5) && !defined(ZONEINFO) */
-+
-+ #ifdef SYS5
-+ extern long timezone;
-+ #endif SYS5
-+
-+ /*
-+ * Patchable flag that says how to interpret NN/NN/NN dates. When
-+ * true, we do it European style: DD/MM/YY. When false, we do it
-+ * American style: MM/DD/YY. Of course, these are all non-RFC822
-+ * compliant.
-+ */
-+ int europeandate = 0;
-+
-+ /*
-+ * Table to convert month names to numeric month. We use the
-+ * fact that the low order 5 bits of the sum of the 2nd & 3rd
-+ * characters of the name is a hash with no collisions for the 12
-+ * valid month names. (The mask to 5 bits maps any combination of
-+ * upper and lower case into the same hash value).
-+ */
-+ static int month_map[] = {
-+ 0,
-+ 6, /* 1 - Jul */
-+ 3, /* 2 - Apr */
-+ 5, /* 3 - Jun */
-+ 0,
-+ 10, /* 5 - Nov */
-+ 0,
-+ 1, /* 7 - Feb */
-+ 11, /* 8 - Dec */
-+ 0,
-+ 0,
-+ 0,
-+ 0,
-+ 0,
-+ 0,
-+ 0, /*15 - Jan */
-+ 0,
-+ 0,
-+ 0,
-+ 2, /*19 - Mar */
-+ 0,
-+ 8, /*21 - Sep */
-+ 0,
-+ 9, /*23 - Oct */
-+ 0,
-+ 0,
-+ 4, /*26 - May */
-+ 0,
-+ 7 /*28 - Aug */
-+ };
-+ /*
-+ * Same trick for day-of-week using the hash function
-+ * (c1 & 7) + (c2 & 4)
-+ */
-+ static int day_map[] = {
-+ 0,
-+ 0,
-+ 0,
-+ 6, /* 3 - Sat */
-+ 4, /* 4 - Thu */
-+ 0,
-+ 5, /* 6 - Fri */
-+ 0, /* 7 - Sun */
-+ 2, /* 8 - Tue */
-+ 1 /* 9 - Mon */,
-+ 0,
-+ 3 /*11 - Wed */
-+ };
-+ #define SETDAY { tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\
-+ tw.tw_flags &= ~TW_SDAY; tw.tw_flags |= TW_SEXP;\
-+ cp += 2; }
-+ #define SETMONTH { tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\
-+ cp += 2;\
-+ SKIPD;}
-+ #define CVT2 (i=(*cp++ - '0'),isdigit(*cp)? i*10 + (*cp++ - '0') : i)
-+ #define SKIPD { while ( !isdigit(*cp++) ) ; --cp; }
-+ #define EXPZONE { tw.tw_flags &= ~TW_SZONE; tw.tw_flags |= TW_SZEXP; }
-+ #define ZONE(x) { tw.tw_zone=(x); EXPZONE; }
-+ #define ZONED(x) { ZONE(x); tw.tw_flags |= TW_DST; }
-+ #define LC(c) (isupper (c) ? tolower (c) : (c))
-+
-+ #ifdef DSTXXX
-+ #ifndef BSD42
-+ #include <time.h>
-+ #else BSD42
-+ #include <sys/time.h>
-+ #endif BSD42
-+
-+ static zonehack (tw)
-+ register struct tws *tw;
-+ {
-+ register struct tm *tm;
-+
-+ if (twclock (tw) == -1L)
-+ return;
-+
-+ tm = localtime (&tw -> tw_clock);
-+ if (tm -> tm_isdst) {
-+ tw -> tw_flags |= TW_DST;
-+ tw -> tw_zone -= 60;
-+ }
-+ }
-+ #endif DSTXXX
-+ struct tws *dparsetime (str)
-+ char *str;
-+ {
-+ register int i;
-+ static struct tws tw;
-+ register char *cp;
-+ register int gotdate = 0;
-+ #ifndef SYS5
-+ #ifdef ZONEINFO
-+ struct tm *tm;
-+ time_t clock;
-+ #else
-+ struct timeb tb;
-+ #endif /* ZONEINFO */
-+ #endif /* not SYS5 */
-+
-+ start_cond = 0;
-+
-+ /* Zero out the struct. */
-+ bzero( (char *) &tw, sizeof tw);
-+
-+ /* Set default time zone. */
-+ #ifdef SYS5
-+ tzset( );
-+ tw.tw_zone = -(timezone / 60);
-+ #else
-+ #ifdef ZONEINFO
-+ time (&clock);
-+ tm = localtime(&clock);
-+ tw.tw_zone = tm->tm_gmtoff / 60;
-+ if (tm -> tm_isdst) /* if DST is in effect */
-+ tw.tw_zone -= 60; /* reset to normal offset */
-+ #else
-+ ftime( &tb );
-+ tw.tw_zone = -tb.timezone;
-+ #endif /* ZONEINFO */
-+ #endif /* SYS5 */
-+
-+ while (isspace(*str))
-+ str++;
-+ while ( 1 )
-+ switch (cp = str, *cp ? lex_string( &str, start_cond) : 0) {
-+
-+ case -1:
-+ if (!gotdate || tw.tw_year == 0)
-+ return 0;
-+ /* fall through */
-+ case 0:
-+ return &tw;
-+
-+ case 1:
-+ SETDAY;
-+ break;
-+ case 2:
-+ {
-+ cp++;
-+ SETDAY;
-+ }
-+ break;
-+ case 3:
-+ {
-+ if (europeandate) {
-+ /* European: DD/MM/YY */
-+ tw.tw_mday = CVT2;
-+ cp++;
-+ tw.tw_mon = CVT2 - 1;
-+ } else {
-+ /* American: MM/DD/YY */
-+ tw.tw_mon = CVT2 - 1;
-+ cp++;
-+ tw.tw_mday = CVT2;
-+ }
-+ cp++;
-+ for (i = 0; isdigit(*cp); )
-+ i = i*10 + (*cp++ - '0');
-+ tw.tw_year = i % 100;
-+ }
-+ break;
-+ case 4:
-+ {
-+ tw.tw_mday = CVT2;
-+ while ( !isalpha(*cp++) )
-+ ;
-+ SETMONTH;
-+ for (i = 0; isdigit(*cp); )
-+ i = i*10 + (*cp++ - '0');
-+ tw.tw_year = i % 100;
-+ }
-+ break;
-+ case 5:
-+ {
-+ cp++;
-+ SETMONTH;
-+ tw.tw_mday = CVT2;
-+ SKIPD;
-+ for (i = 0; isdigit(*cp); )
-+ i = i*10 + (*cp++ - '0');
-+ tw.tw_year = i % 100;
-+ }
-+ break;
-+ case 6:
-+ {
-+ cp++;
-+ SETMONTH;
-+ tw.tw_mday = CVT2;
-+ }
-+ break;
-+ case 7:
-+ { /* hack: ctime w/o TZ */
-+ tw.tw_hour = CVT2; cp++;
-+ tw.tw_min = CVT2; cp++;
-+ tw.tw_sec = CVT2;
-+ while( !isdigit(*cp++) )
-+ ;
-+ cp++;
-+ tw.tw_year = CVT2;
-+ }
-+ break;
-+ case 8:
-+ {
-+ tw.tw_hour = CVT2; cp++;
-+ tw.tw_min = CVT2; cp++;
-+ tw.tw_sec = CVT2;
-+ BEGIN Z;
-+ }
-+ break;
-+ case 9:
-+ {
-+ tw.tw_hour = CVT2; cp++;
-+ tw.tw_min = CVT2;
-+ BEGIN Z;
-+ }
-+ break;
-+ case 10:
-+ {
-+ tw.tw_hour = CVT2; cp++;
-+ if (tw.tw_hour == 12)
-+ tw.tw_hour = 0;
-+ tw.tw_min = CVT2;
-+ BEGIN Z;
-+ }
-+ break;
-+ case 11:
-+ {
-+ tw.tw_hour = CVT2; cp++;
-+ if (tw.tw_hour != 12)
-+ tw.tw_hour += 12;
-+ tw.tw_min = CVT2;
-+ BEGIN Z;
-+ }
-+ break;
-+ case 12:
-+ {
-+ tw.tw_hour = CVT2;
-+ tw.tw_min = CVT2;
-+ tw.tw_sec = CVT2;
-+ BEGIN Z;
-+ }
-+ break;
-+ case 13:
-+ {
-+ /*
-+ * Luckly, 4 digit times in the range
-+ * 1960-1999 aren't legal as hour
-+ * and minutes.
-+ */
-+ cp += 2;
-+ tw.tw_year = CVT2;
-+ }
-+ break;
-+ case 14:
-+ {
-+ if (tw.tw_hour) {
-+ cp += 2;
-+ tw.tw_year = CVT2;
-+ tw.tw_zone = 0;
-+ } else {
-+ tw.tw_hour = CVT2;
-+ tw.tw_min = CVT2;
-+ BEGIN Z;
-+ }
-+ }
-+ break;
-+ case 15:
-+ ZONE(0 * 60);
-+ break;
-+ case 16:
-+ ZONE(0 * 60);
-+ break;
-+ case 17:
-+ ZONE(2 * 60);
-+ break;
-+ case 18:
-+ ZONED(2 * 60);
-+ break;
-+ case 19:
-+ ZONE(-5 * 60);
-+ break;
-+ case 20:
-+ ZONED(-5 * 60);
-+ break;
-+ case 21:
-+ ZONE(-6 * 60);
-+ break;
-+ case 22:
-+ ZONED(-6 * 60);
-+ break;
-+ case 23:
-+ ZONE(-7 * 60);
-+ break;
-+ case 24:
-+ ZONED(-7 * 60);
-+ break;
-+ case 25:
-+ ZONE(-8 * 60);
-+ break;
-+ case 26:
-+ ZONED(-8 * 60);
-+ break;
-+ case 27:
-+ ZONE(-(3 * 60 + 30));
-+ break;
-+ case 28:
-+ ZONE(-4 * 60);
-+ break;
-+ case 29:
-+ ZONED(-4 * 60);
-+ break;
-+ case 30:
-+ ZONE(-9 * 60);
-+ break;
-+ case 31:
-+ ZONED(-9 * 60);
-+ break;
-+ case 32:
-+ ZONE(-10 * 60);
-+ break;
-+ case 33:
-+ ZONED(-10 * 60);
-+ break;
-+ case 34:
-+ ZONED(0 * 60);
-+ break;
-+ case 35:
-+ {
-+ tw.tw_zone = 60 * (('a'-1) - LC(*cp));
-+ EXPZONE;
-+ }
-+ break;
-+ case 36:
-+ {
-+ tw.tw_zone = 60 * ('a' - LC(*cp));
-+ EXPZONE;
-+ }
-+ break;
-+ case 37:
-+ {
-+ tw.tw_zone = 60 * (LC(*cp) - 'm');
-+ EXPZONE;
-+ }
-+ break;
-+ case 38:
-+ {
-+ cp++;
-+ tw.tw_zone = ((cp[0] * 10 + cp[1])
-+ -('0' * 10 + '0'))*60
-+ +((cp[2] * 10 + cp[3])
-+ -('0' * 10 + '0'));
-+ EXPZONE;
-+ #ifdef DSTXXX
-+ zonehack (&tw);
-+ #endif DSTXXX
-+ cp += 4;
-+ }
-+ break;
-+ case 39:
-+ {
-+ cp++;
-+ tw.tw_zone = (('0' * 10 + '0')
-+ -(cp[0] * 10 + cp[1]))*60
-+ +(('0' * 10 + '0')
-+ -(cp[2] * 10 + cp[3]));
-+ EXPZONE;
-+ #ifdef DSTXXX
-+ zonehack (&tw);
-+ #endif DSTXXX
-+ cp += 4;
-+ }
-+ break;
-+ case 40:
-+ {
-+ while( !isdigit(*cp++) )
-+ ;
-+ cp++;
-+ tw.tw_year = CVT2;
-+ }
-+ break;
-+ case 41:
-+ case 42:
-+ ;
-+ break;
-+ default: return(0);
-+ } }
-+ /* end of yylex */
-+ int yyvstop[] ={
-+ 0,
-+
-+ 42,
-+ 0,
-+
-+ 41,
-+ 0,
-+
-+ 42,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 35,
-+ 0,
-+
-+ 36,
-+ 0,
-+
-+ 36,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 37,
-+ 0,
-+
-+ 15,
-+ 0,
-+
-+ 9,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 29,
-+ 0,
-+
-+ 28,
-+ 0,
-+
-+ 34,
-+ 0,
-+
-+ 22,
-+ 0,
-+
-+ 21,
-+ 0,
-+
-+ 20,
-+ 0,
-+
-+ 19,
-+ 0,
-+
-+ 16,
-+ 0,
-+
-+ 33,
-+ 0,
-+
-+ 32,
-+ 0,
-+
-+ 18,
-+ 0,
-+
-+ 17,
-+ 0,
-+
-+ 24,
-+ 0,
-+
-+ 23,
-+ 0,
-+
-+ 27,
-+ 0,
-+
-+ 26,
-+ 0,
-+
-+ 25,
-+ 0,
-+
-+ 31,
-+ 0,
-+
-+ 30,
-+ 0,
-+
-+ 14,
-+ 0,
-+
-+ 9,
-+ 0,
-+
-+ 9,
-+ 0,
-+
-+ 13,
-+ 14,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 2,
-+ 0,
-+
-+ 14,
-+ 0,
-+
-+ 8,
-+ 0,
-+
-+ 10,
-+ 0,
-+
-+ 11,
-+ 0,
-+
-+ 4,
-+ 0,
-+
-+ 4,
-+ 0,
-+
-+ 13,
-+ 14,
-+ 0,
-+
-+ 6,
-+ 0,
-+
-+ 40,
-+ 0,
-+
-+ 38,
-+ 0,
-+
-+ 39,
-+ 0,
-+
-+ 2,
-+ 0,
-+
-+ 3,
-+ 0,
-+
-+ 3,
-+ 0,
-+
-+ 12,
-+ 0,
-+
-+ 8,
-+ 0,
-+
-+ 8,
-+ 0,
-+
-+ 4,
-+ 0,
-+
-+ 4,
-+ 0,
-+
-+ 4,
-+ 0,
-+
-+ 6,
-+ 0,
-+
-+ 6,
-+ 0,
-+
-+ 1,
-+ 0,
-+
-+ 4,
-+ 0,
-+
-+ 5,
-+ 0,
-+
-+ 5,
-+ 0,
-+
-+ 5,
-+ 0,
-+
-+ 5,
-+ 0,
-+
-+ 7,
-+ 0,
-+ 0};
-+ # define YYTYPE int
-+ struct yywork { YYTYPE verify, advance; } yycrank[] ={
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 1,5, 1,6,
-+ 5,5, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 21,21, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 1,5, 0,0, 5,5,
-+ 3,21, 3,6, 0,0, 0,0,
-+ 0,0, 1,7, 0,0, 0,0,
-+ 21,21, 0,0, 0,0, 0,0,
-+ 0,0, 1,8, 1,9, 1,8,
-+ 1,10, 1,10, 1,10, 1,10,
-+ 1,10, 1,10, 1,10, 3,21,
-+ 9,63, 21,82, 22,83, 22,83,
-+ 0,0, 0,0, 0,0, 3,7,
-+ 0,0, 0,0, 3,22, 0,0,
-+ 3,23, 0,0, 0,0, 3,8,
-+ 3,9, 3,8, 3,10, 3,10,
-+ 3,10, 3,10, 3,10, 3,10,
-+ 3,10, 10,64, 10,64, 10,64,
-+ 10,64, 10,64, 10,64, 10,64,
-+ 10,64, 10,64, 10,64, 0,0,
-+ 0,0, 0,0, 1,11, 15,72,
-+ 0,0, 1,12, 14,70, 1,13,
-+ 12,67, 13,68, 17,75, 1,14,
-+ 19,79, 20,81, 1,15, 1,16,
-+ 1,17, 15,73, 11,65, 16,74,
-+ 1,18, 1,19, 13,69, 11,66,
-+ 1,20, 19,80, 14,71, 25,99,
-+ 3,24, 3,25, 3,26, 3,27,
-+ 3,28, 3,29, 3,30, 3,31,
-+ 3,32, 3,33, 3,34, 3,34,
-+ 3,35, 3,36, 3,37, 3,38,
-+ 3,39, 3,39, 3,40, 3,41,
-+ 3,42, 3,39, 3,43, 3,39,
-+ 3,44, 7,45, 8,50, 18,76,
-+ 23,84, 23,84, 30,104, 18,77,
-+ 7,46, 24,97, 42,114, 45,117,
-+ 26,100, 28,102, 7,47, 7,48,
-+ 31,105, 33,70, 7,49, 38,112,
-+ 33,107, 24,65, 46,118, 18,78,
-+ 24,98, 8,50, 24,66, 26,101,
-+ 28,103, 36,74, 49,123, 31,106,
-+ 56,129, 36,111, 38,113, 33,108,
-+ 47,119, 33,71, 8,51, 57,130,
-+ 8,52, 8,53, 8,53, 8,53,
-+ 8,53, 8,53, 8,53, 8,53,
-+ 8,53, 8,53, 8,53, 8,54,
-+ 44,115, 23,85, 23,86, 23,87,
-+ 47,120, 23,88, 35,72, 23,89,
-+ 23,90, 35,109, 23,91, 59,133,
-+ 50,50, 23,92, 23,93, 44,116,
-+ 23,94, 48,121, 55,127, 58,131,
-+ 35,73, 23,95, 60,134, 55,128,
-+ 35,110, 23,96, 61,135, 62,136,
-+ 65,138, 64,52, 48,122, 51,51,
-+ 66,139, 67,140, 68,141, 50,50,
-+ 69,142, 70,143, 8,55, 58,132,
-+ 64,54, 8,56, 71,144, 8,57,
-+ 71,145, 73,148, 72,146, 8,58,
-+ 50,51, 74,149, 8,59, 8,60,
-+ 8,61, 72,147, 51,51, 75,150,
-+ 8,62, 52,124, 52,124, 52,124,
-+ 52,124, 52,124, 52,124, 52,124,
-+ 52,124, 52,124, 52,124, 53,125,
-+ 53,125, 53,125, 53,125, 53,125,
-+ 53,125, 53,125, 53,125, 53,125,
-+ 53,125, 54,126, 54,126, 54,126,
-+ 54,126, 54,126, 54,126, 54,126,
-+ 54,126, 54,126, 54,126, 63,125,
-+ 63,125, 63,125, 63,125, 63,125,
-+ 63,125, 63,137, 63,137, 63,137,
-+ 63,137, 76,151, 77,152, 78,153,
-+ 50,55, 79,154, 80,155, 50,56,
-+ 81,156, 50,57, 82,157, 93,111,
-+ 85,97, 50,58, 91,107, 92,109,
-+ 50,59, 50,60, 50,61, 97,160,
-+ 98,161, 99,162, 50,62, 51,55,
-+ 100,163, 101,164, 51,56, 85,98,
-+ 51,57, 91,108, 92,110, 102,165,
-+ 51,58, 103,166, 104,167, 51,59,
-+ 51,60, 51,61, 105,168, 106,169,
-+ 107,170, 51,62, 83,158, 83,158,
-+ 83,158, 83,158, 83,158, 83,158,
-+ 83,158, 83,158, 83,158, 83,158,
-+ 84,159, 84,159, 84,159, 84,159,
-+ 84,159, 84,159, 84,159, 84,159,
-+ 84,159, 84,159, 108,171, 109,172,
-+ 110,173, 111,174, 112,175, 113,176,
-+ 115,177, 116,178, 117,179, 118,180,
-+ 119,181, 120,182, 121,183, 122,184,
-+ 123,185, 124,186, 124,187, 124,187,
-+ 124,187, 124,187, 124,187, 124,187,
-+ 124,187, 124,187, 124,187, 124,187,
-+ 125,188, 125,188, 125,188, 125,188,
-+ 125,188, 125,188, 125,188, 125,188,
-+ 125,188, 125,188, 126,189, 127,194,
-+ 128,195, 129,196, 130,197, 131,198,
-+ 132,199, 133,201, 132,200, 134,203,
-+ 135,204, 136,205, 138,207, 139,207,
-+ 133,202, 140,207, 143,214, 145,147,
-+ 148,216, 149,217, 150,218, 152,220,
-+ 153,221, 126,189, 137,206, 137,206,
-+ 137,206, 137,206, 137,206, 137,206,
-+ 137,206, 137,206, 137,206, 137,206,
-+ 141,207, 138,207, 139,207, 142,212,
-+ 140,207, 126,190, 126,190, 126,190,
-+ 126,190, 126,190, 126,190, 126,190,
-+ 126,190, 126,190, 126,190, 126,191,
-+ 144,207, 146,207, 147,207, 180,230,
-+ 154,212, 151,212, 156,212, 141,207,
-+ 155,212, 182,232, 142,212, 157,225,
-+ 157,225, 157,225, 157,225, 179,228,
-+ 181,228, 183,228, 187,186, 184,228,
-+ 190,191, 192,241, 142,212, 144,207,
-+ 146,207, 147,207, 185,228, 154,212,
-+ 151,212, 156,212, 193,242, 155,212,
-+ 198,250, 200,202, 203,252, 204,253,
-+ 205,254, 208,147, 126,192, 154,212,
-+ 151,212, 156,212, 209,257, 155,212,
-+ 210,258, 211,259, 206,255, 212,212,
-+ 213,260, 214,261, 215,147, 216,262,
-+ 217,263, 126,193, 218,264, 219,265,
-+ 220,266, 140,210, 138,208, 158,226,
-+ 158,226, 158,226, 158,226, 158,226,
-+ 158,226, 158,226, 158,226, 158,226,
-+ 158,226, 206,255, 212,212, 139,209,
-+ 221,267, 222,268, 179,229, 223,269,
-+ 224,270, 228,274, 142,213, 159,227,
-+ 159,227, 159,227, 159,227, 159,227,
-+ 159,227, 159,227, 159,227, 159,227,
-+ 159,227, 141,211, 183,233, 146,215,
-+ 181,231, 184,234, 188,238, 185,235,
-+ 186,236, 186,237, 186,236, 186,236,
-+ 186,236, 186,236, 186,236, 186,236,
-+ 186,236, 186,236, 189,189, 156,224,
-+ 194,202, 154,222, 229,275, 230,276,
-+ 144,147, 151,219, 155,223, 231,277,
-+ 232,278, 188,238, 191,240, 191,240,
-+ 191,240, 191,240, 191,240, 191,240,
-+ 191,240, 191,240, 191,240, 191,240,
-+ 233,279, 189,189, 234,280, 194,202,
-+ 235,281, 188,239, 188,239, 188,239,
-+ 188,239, 188,239, 188,239, 188,239,
-+ 188,239, 188,239, 188,239, 195,202,
-+ 194,243, 237,283, 238,238, 194,244,
-+ 194,245, 194,244, 194,244, 194,244,
-+ 194,244, 194,244, 194,244, 194,244,
-+ 194,244, 241,241, 242,242, 245,290,
-+ 246,202, 247,291, 248,292, 249,293,
-+ 250,294, 251,202, 195,202, 252,295,
-+ 253,296, 238,238, 254,297, 257,147,
-+ 196,202, 255,255, 258,301, 259,302,
-+ 260,303, 261,304, 263,305, 195,243,
-+ 241,241, 242,242, 195,244, 195,245,
-+ 195,244, 195,244, 195,244, 195,244,
-+ 195,244, 195,244, 195,244, 195,244,
-+ 264,306, 265,307, 189,192, 196,202,
-+ 255,255, 266,308, 197,202, 268,309,
-+ 269,310, 270,311, 275,312, 277,313,
-+ 194,246, 279,314, 280,315, 281,316,
-+ 196,243, 189,193, 282,282, 196,244,
-+ 196,245, 196,244, 196,244, 196,244,
-+ 196,244, 196,244, 196,244, 196,244,
-+ 196,244, 197,202, 289,318, 291,202,
-+ 284,284, 286,285, 199,202, 288,288,
-+ 292,319, 293,320, 294,321, 295,322,
-+ 296,323, 282,282, 197,243, 297,324,
-+ 283,282, 197,244, 197,245, 197,244,
-+ 197,244, 197,244, 197,244, 197,244,
-+ 197,244, 197,244, 197,244, 284,284,
-+ 286,285, 199,202, 288,288, 195,247,
-+ 201,202, 300,299, 298,298, 301,326,
-+ 299,325, 302,327, 303,212, 283,282,
-+ 304,147, 305,328, 199,243, 306,147,
-+ 196,248, 199,244, 199,245, 199,244,
-+ 199,244, 199,244, 199,244, 199,244,
-+ 199,244, 199,244, 199,244, 201,202,
-+ 283,236, 298,298, 202,202, 299,325,
-+ 307,329, 308,330, 309,331, 311,332,
-+ 312,228, 313,333, 314,334, 285,285,
-+ 201,243, 207,207, 316,335, 201,244,
-+ 201,245, 201,244, 201,244, 201,244,
-+ 201,244, 201,244, 201,244, 201,244,
-+ 201,244, 202,202, 317,336, 197,249,
-+ 319,338, 320,339, 321,202, 322,340,
-+ 323,202, 324,341, 285,285, 330,344,
-+ 207,207, 332,345, 202,243, 335,346,
-+ 318,337, 202,244, 202,245, 202,244,
-+ 202,244, 202,244, 202,244, 202,244,
-+ 202,244, 202,244, 202,244, 285,317,
-+ 207,256, 207,256, 207,256, 207,256,
-+ 207,256, 207,256, 207,256, 207,256,
-+ 207,256, 207,256, 199,202, 318,337,
-+ 341,348, 343,350, 201,251, 225,271,
-+ 225,271, 225,271, 225,271, 225,271,
-+ 225,271, 225,271, 225,271, 225,271,
-+ 225,271, 226,272, 226,272, 226,272,
-+ 226,272, 226,272, 226,272, 226,272,
-+ 226,272, 226,272, 226,272, 227,273,
-+ 227,273, 227,273, 227,273, 227,273,
-+ 227,273, 227,273, 227,273, 227,273,
-+ 227,273, 236,282, 236,282, 236,282,
-+ 236,282, 236,282, 236,282, 236,282,
-+ 236,282, 236,282, 236,282, 239,284,
-+ 239,284, 239,284, 239,284, 239,284,
-+ 239,284, 239,284, 239,284, 239,284,
-+ 239,284, 240,285, 349,349, 287,287,
-+ 336,347, 336,347, 336,347, 336,347,
-+ 0,0, 0,0, 0,0, 243,243,
-+ 347,351, 347,351, 347,351, 347,351,
-+ 347,351, 347,351, 347,351, 347,351,
-+ 347,351, 347,351, 0,0, 0,0,
-+ 240,285, 349,349, 287,287, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 243,243, 0,0,
-+ 0,0, 244,287, 287,288, 0,0,
-+ 240,286, 240,286, 240,286, 240,286,
-+ 240,286, 240,286, 240,286, 240,286,
-+ 240,286, 240,286, 243,244, 243,245,
-+ 243,244, 243,244, 243,244, 243,244,
-+ 243,244, 243,244, 243,244, 243,244,
-+ 244,287, 0,0, 0,0, 256,298,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 244,288, 0,0, 325,325, 0,0,
-+ 244,287, 244,287, 244,287, 244,287,
-+ 244,287, 244,287, 244,287, 244,287,
-+ 244,287, 244,287, 256,298, 0,0,
-+ 0,0, 290,287, 0,0, 287,289,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 325,325, 256,299, 0,0,
-+ 342,349, 0,0, 256,300, 256,300,
-+ 256,300, 256,300, 256,300, 256,300,
-+ 256,300, 256,300, 256,300, 256,300,
-+ 290,287, 325,342, 325,343, 325,342,
-+ 325,342, 325,342, 325,342, 325,342,
-+ 325,342, 325,342, 325,342, 342,349,
-+ 290,288, 244,289, 350,349, 0,0,
-+ 0,0, 290,244, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 342,349,
-+ 342,349, 342,349, 342,349, 342,349,
-+ 342,349, 342,349, 342,349, 342,349,
-+ 342,349, 350,349, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 350,342, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 0,0, 0,0, 0,0,
-+ 0,0, 290,289, 0,0, 0,0,
-+ 0,0};
-+ struct yysvf yysvec[] ={
-+ 0, 0, 0,
-+ yycrank+1, 0, 0,
-+ yycrank+0, yysvec+1, 0,
-+ yycrank+27, 0, 0,
-+ yycrank+0, yysvec+3, 0,
-+ yycrank+3, 0, yyvstop+1,
-+ yycrank+0, 0, yyvstop+3,
-+ yycrank+47, 0, 0,
-+ yycrank+141, 0, 0,
-+ yycrank+3, yysvec+8, 0,
-+ yycrank+37, yysvec+8, 0,
-+ yycrank+2, 0, 0,
-+ yycrank+3, 0, 0,
-+ yycrank+4, 0, 0,
-+ yycrank+5, 0, 0,
-+ yycrank+2, 0, 0,
-+ yycrank+4, 0, 0,
-+ yycrank+7, 0, 0,
-+ yycrank+54, 0, 0,
-+ yycrank+4, 0, 0,
-+ yycrank+8, 0, 0,
-+ yycrank+12, 0, yyvstop+5,
-+ yycrank+14, 0, 0,
-+ yycrank+104, 0, 0,
-+ yycrank+57, 0, yyvstop+7,
-+ yycrank+8, 0, yyvstop+9,
-+ yycrank+60, 0, yyvstop+11,
-+ yycrank+0, yysvec+12, yyvstop+13,
-+ yycrank+61, 0, yyvstop+15,
-+ yycrank+0, yysvec+13, yyvstop+17,
-+ yycrank+45, 0, yyvstop+19,
-+ yycrank+64, 0, yyvstop+21,
-+ yycrank+0, 0, yyvstop+23,
-+ yycrank+68, 0, 0,
-+ yycrank+0, 0, yyvstop+25,
-+ yycrank+109, 0, yyvstop+27,
-+ yycrank+66, 0, yyvstop+29,
-+ yycrank+0, yysvec+17, yyvstop+31,
-+ yycrank+67, 0, yyvstop+33,
-+ yycrank+0, 0, yyvstop+35,
-+ yycrank+0, yysvec+18, yyvstop+37,
-+ yycrank+0, yysvec+19, yyvstop+39,
-+ yycrank+42, 0, yyvstop+41,
-+ yycrank+0, yysvec+20, yyvstop+43,
-+ yycrank+100, 0, yyvstop+45,
-+ yycrank+45, 0, 0,
-+ yycrank+59, 0, 0,
-+ yycrank+87, 0, 0,
-+ yycrank+113, 0, 0,
-+ yycrank+77, 0, 0,
-+ yycrank+203, 0, 0,
-+ yycrank+222, 0, 0,
-+ yycrank+209, 0, 0,
-+ yycrank+219, yysvec+8, 0,
-+ yycrank+229, 0, 0,
-+ yycrank+106, 0, 0,
-+ yycrank+79, 0, 0,
-+ yycrank+86, 0, 0,
-+ yycrank+122, 0, 0,
-+ yycrank+114, 0, 0,
-+ yycrank+111, 0, 0,
-+ yycrank+127, 0, 0,
-+ yycrank+126, 0, 0,
-+ yycrank+239, yysvec+8, 0,
-+ yycrank+182, yysvec+50, 0,
-+ yycrank+114, 0, 0,
-+ yycrank+129, 0, 0,
-+ yycrank+134, 0, 0,
-+ yycrank+136, 0, 0,
-+ yycrank+131, 0, 0,
-+ yycrank+127, 0, 0,
-+ yycrank+134, 0, 0,
-+ yycrank+132, 0, 0,
-+ yycrank+135, 0, 0,
-+ yycrank+131, 0, 0,
-+ yycrank+139, 0, 0,
-+ yycrank+181, 0, 0,
-+ yycrank+186, 0, 0,
-+ yycrank+189, 0, 0,
-+ yycrank+184, 0, 0,
-+ yycrank+201, 0, 0,
-+ yycrank+204, 0, 0,
-+ yycrank+249, 0, 0,
-+ yycrank+290, 0, 0,
-+ yycrank+300, 0, 0,
-+ yycrank+208, 0, 0,
-+ yycrank+0, yysvec+25, 0,
-+ yycrank+0, yysvec+26, 0,
-+ yycrank+0, yysvec+28, 0,
-+ yycrank+0, yysvec+30, 0,
-+ yycrank+0, yysvec+31, 0,
-+ yycrank+210, 0, 0,
-+ yycrank+211, 0, 0,
-+ yycrank+192, 0, 0,
-+ yycrank+0, yysvec+38, 0,
-+ yycrank+0, yysvec+42, 0,
-+ yycrank+0, yysvec+44, 0,
-+ yycrank+199, 0, 0,
-+ yycrank+200, 0, 0,
-+ yycrank+201, 0, 0,
-+ yycrank+204, 0, 0,
-+ yycrank+205, 0, 0,
-+ yycrank+211, 0, 0,
-+ yycrank+213, 0, 0,
-+ yycrank+214, 0, 0,
-+ yycrank+218, 0, 0,
-+ yycrank+219, 0, 0,
-+ yycrank+220, 0, 0,
-+ yycrank+242, 0, 0,
-+ yycrank+243, 0, 0,
-+ yycrank+244, 0, 0,
-+ yycrank+245, 0, 0,
-+ yycrank+246, 0, 0,
-+ yycrank+247, 0, 0,
-+ yycrank+0, 0, yyvstop+47,
-+ yycrank+248, 0, 0,
-+ yycrank+249, 0, 0,
-+ yycrank+261, 0, 0,
-+ yycrank+257, 0, 0,
-+ yycrank+252, 0, 0,
-+ yycrank+259, 0, 0,
-+ yycrank+253, 0, 0,
-+ yycrank+270, 0, 0,
-+ yycrank+272, 0, 0,
-+ yycrank+326, 0, 0,
-+ yycrank+336, 0, 0,
-+ yycrank+385, 0, yyvstop+49,
-+ yycrank+281, 0, 0,
-+ yycrank+293, 0, 0,
-+ yycrank+298, 0, 0,
-+ yycrank+300, 0, 0,
-+ yycrank+289, 0, 0,
-+ yycrank+292, 0, 0,
-+ yycrank+287, 0, 0,
-+ yycrank+285, 0, 0,
-+ yycrank+288, 0, 0,
-+ yycrank+293, 0, 0,
-+ yycrank+370, 0, 0,
-+ yycrank+397, 0, 0,
-+ yycrank+398, 0, 0,
-+ yycrank+400, 0, 0,
-+ yycrank+419, 0, 0,
-+ yycrank+422, 0, yyvstop+51,
-+ yycrank+293, yysvec+139, 0,
-+ yycrank+435, 0, 0,
-+ yycrank+310, yysvec+140, 0,
-+ yycrank+436, 0, 0,
-+ yycrank+437, 0, 0,
-+ yycrank+312, yysvec+142, yyvstop+53,
-+ yycrank+312, yysvec+140, 0,
-+ yycrank+303, yysvec+147, 0,
-+ yycrank+440, 0, yyvstop+55,
-+ yycrank+299, yysvec+147, 0,
-+ yycrank+316, yysvec+142, yyvstop+57,
-+ yycrank+439, 0, yyvstop+59,
-+ yycrank+443, 0, yyvstop+61,
-+ yycrank+441, 0, yyvstop+63,
-+ yycrank+401, 0, 0,
-+ yycrank+455, 0, 0,
-+ yycrank+475, 0, 0,
-+ yycrank+0, 0, yyvstop+65,
-+ yycrank+0, 0, yyvstop+67,
-+ yycrank+0, 0, yyvstop+69,
-+ yycrank+0, 0, yyvstop+71,
-+ yycrank+0, 0, yyvstop+73,
-+ yycrank+0, 0, yyvstop+75,
-+ yycrank+0, 0, yyvstop+77,
-+ yycrank+0, 0, yyvstop+79,
-+ yycrank+0, 0, yyvstop+81,
-+ yycrank+0, 0, yyvstop+83,
-+ yycrank+0, 0, yyvstop+85,
-+ yycrank+0, 0, yyvstop+87,
-+ yycrank+0, 0, yyvstop+89,
-+ yycrank+0, 0, yyvstop+91,
-+ yycrank+0, 0, yyvstop+93,
-+ yycrank+0, 0, yyvstop+95,
-+ yycrank+0, 0, yyvstop+97,
-+ yycrank+0, 0, yyvstop+99,
-+ yycrank+0, 0, yyvstop+101,
-+ yycrank+418, 0, 0,
-+ yycrank+347, yysvec+179, 0,
-+ yycrank+419, 0, 0,
-+ yycrank+353, yysvec+179, 0,
-+ yycrank+420, 0, 0,
-+ yycrank+422, 0, 0,
-+ yycrank+429, 0, 0,
-+ yycrank+492, 0, 0,
-+ yycrank+415, 0, 0,
-+ yycrank+529, 0, yyvstop+103,
-+ yycrank+541, 0, yyvstop+105,
-+ yycrank+406, yysvec+189, yyvstop+107,
-+ yycrank+514, 0, 0,
-+ yycrank+356, 0, 0,
-+ yycrank+365, 0, 0,
-+ yycrank+543, 0, 0,
-+ yycrank+578, 0, 0,
-+ yycrank+607, 0, 0,
-+ yycrank+633, 0, 0,
-+ yycrank+359, yysvec+195, 0,
-+ yycrank+661, 0, 0,
-+ yycrank+376, yysvec+196, 0,
-+ yycrank+687, 0, 0,
-+ yycrank+713, 0, 0,
-+ yycrank+377, yysvec+196, 0,
-+ yycrank+368, yysvec+202, 0,
-+ yycrank+364, yysvec+202, 0,
-+ yycrank+481, yysvec+188, yyvstop+109,
-+ yycrank+724, 0, 0,
-+ yycrank+373, 0, 0,
-+ yycrank+371, 0, 0,
-+ yycrank+379, 0, 0,
-+ yycrank+372, 0, 0,
-+ yycrank+482, 0, yyvstop+112,
-+ yycrank+395, 0, 0,
-+ yycrank+396, 0, 0,
-+ yycrank+390, 0, 0,
-+ yycrank+398, 0, 0,
-+ yycrank+387, 0, 0,
-+ yycrank+400, 0, 0,
-+ yycrank+385, 0, 0,
-+ yycrank+399, 0, 0,
-+ yycrank+419, 0, 0,
-+ yycrank+402, 0, 0,
-+ yycrank+419, 0, 0,
-+ yycrank+419, 0, 0,
-+ yycrank+739, 0, 0,
-+ yycrank+749, 0, 0,
-+ yycrank+759, 0, 0,
-+ yycrank+477, 0, yyvstop+114,
-+ yycrank+457, 0, 0,
-+ yycrank+458, 0, 0,
-+ yycrank+445, 0, 0,
-+ yycrank+463, 0, 0,
-+ yycrank+457, 0, 0,
-+ yycrank+474, 0, 0,
-+ yycrank+475, 0, 0,
-+ yycrank+769, 0, 0,
-+ yycrank+532, yysvec+236, 0,
-+ yycrank+581, 0, yyvstop+116,
-+ yycrank+779, 0, 0,
-+ yycrank+828, 0, yyvstop+118,
-+ yycrank+592, 0, yyvstop+120,
-+ yycrank+593, 0, yyvstop+122,
-+ yycrank+838, 0, 0,
-+ yycrank+864, 0, yyvstop+124,
-+ yycrank+546, yysvec+244, yyvstop+126,
-+ yycrank+496, 0, 0,
-+ yycrank+490, 0, 0,
-+ yycrank+497, 0, 0,
-+ yycrank+490, 0, 0,
-+ yycrank+511, 0, 0,
-+ yycrank+505, 0, 0,
-+ yycrank+502, 0, 0,
-+ yycrank+514, 0, 0,
-+ yycrank+513, 0, 0,
-+ yycrank+608, 0, yyvstop+128,
-+ yycrank+890, 0, yyvstop+131,
-+ yycrank+499, 0, 0,
-+ yycrank+520, 0, 0,
-+ yycrank+522, 0, 0,
-+ yycrank+499, 0, 0,
-+ yycrank+507, 0, 0,
-+ yycrank+0, yysvec+260, 0,
-+ yycrank+524, 0, 0,
-+ yycrank+535, 0, 0,
-+ yycrank+537, 0, 0,
-+ yycrank+532, 0, 0,
-+ yycrank+0, yysvec+260, 0,
-+ yycrank+543, 0, 0,
-+ yycrank+547, 0, 0,
-+ yycrank+530, 0, 0,
-+ yycrank+0, 0, yyvstop+133,
-+ yycrank+0, 0, yyvstop+135,
-+ yycrank+0, 0, yyvstop+137,
-+ yycrank+0, 0, yyvstop+139,
-+ yycrank+525, 0, 0,
-+ yycrank+0, yysvec+275, 0,
-+ yycrank+547, 0, 0,
-+ yycrank+0, yysvec+275, 0,
-+ yycrank+549, 0, 0,
-+ yycrank+553, 0, 0,
-+ yycrank+536, 0, 0,
-+ yycrank+645, 0, yyvstop+141,
-+ yycrank+671, yysvec+186, yyvstop+143,
-+ yycrank+659, 0, yyvstop+145,
-+ yycrank+722, 0, yyvstop+147,
-+ yycrank+660, 0, yyvstop+149,
-+ yycrank+830, 0, yyvstop+151,
-+ yycrank+662, 0, yyvstop+153,
-+ yycrank+550, 0, 0,
-+ yycrank+916, yysvec+243, yyvstop+155,
-+ yycrank+551, 0, 0,
-+ yycrank+574, 0, 0,
-+ yycrank+576, 0, 0,
-+ yycrank+560, 0, 0,
-+ yycrank+577, 0, 0,
-+ yycrank+575, 0, 0,
-+ yycrank+570, 0, 0,
-+ yycrank+689, 0, yyvstop+157,
-+ yycrank+691, 0, 0,
-+ yycrank+653, yysvec+298, yyvstop+159,
-+ yycrank+598, 0, 0,
-+ yycrank+587, 0, 0,
-+ yycrank+658, yysvec+212, yyvstop+161,
-+ yycrank+583, 0, 0,
-+ yycrank+604, 0, 0,
-+ yycrank+593, 0, 0,
-+ yycrank+627, 0, 0,
-+ yycrank+627, 0, 0,
-+ yycrank+629, 0, 0,
-+ yycrank+0, yysvec+260, 0,
-+ yycrank+627, 0, 0,
-+ yycrank+687, 0, 0,
-+ yycrank+632, 0, 0,
-+ yycrank+633, 0, 0,
-+ yycrank+0, yysvec+275, 0,
-+ yycrank+634, 0, 0,
-+ yycrank+689, 0, 0,
-+ yycrank+751, 0, 0,
-+ yycrank+647, 0, 0,
-+ yycrank+635, 0, 0,
-+ yycrank+629, 0, 0,
-+ yycrank+650, 0, 0,
-+ yycrank+638, 0, 0,
-+ yycrank+655, 0, 0,
-+ yycrank+901, 0, 0,
-+ yycrank+0, yysvec+306, 0,
-+ yycrank+0, yysvec+304, 0,
-+ yycrank+0, yysvec+306, 0,
-+ yycrank+0, yysvec+260, 0,
-+ yycrank+654, 0, 0,
-+ yycrank+0, yysvec+260, 0,
-+ yycrank+660, 0, 0,
-+ yycrank+0, yysvec+275, 0,
-+ yycrank+0, yysvec+275, 0,
-+ yycrank+662, 0, 0,
-+ yycrank+786, 0, 0,
-+ yycrank+0, yysvec+318, yyvstop+163,
-+ yycrank+0, yysvec+323, 0,
-+ yycrank+0, yysvec+321, 0,
-+ yycrank+0, yysvec+323, 0,
-+ yycrank+683, 0, 0,
-+ yycrank+927, 0, yyvstop+165,
-+ yycrank+728, yysvec+342, yyvstop+167,
-+ yycrank+0, yysvec+306, 0,
-+ yycrank+0, yysvec+260, 0,
-+ yycrank+0, yysvec+275, 0,
-+ yycrank+800, 0, 0,
-+ yycrank+0, yysvec+323, 0,
-+ yycrank+829, 0, yyvstop+169,
-+ yycrank+953, yysvec+325, yyvstop+171,
-+ yycrank+0, 0, yyvstop+173,
-+ 0, 0, 0};
-+ struct yywork *yytop = yycrank+1013;
-+ struct yysvf *yybgin = yysvec+1;
-+ char yymatch[] ={
-+ 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,011 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ '0' ,'0' ,'2' ,'3' ,'3' ,'3' ,'6' ,'6' ,
-+ '6' ,'6' ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' ,
-+ 'a' ,'a' ,01 ,'k' ,'k' ,'k' ,'n' ,'n' ,
-+ 'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,
-+ 'n' ,'n' ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
-+ 0};
-+ char yyextra[] ={
-+ 0,0,0,0,0,0,0,0,
-+ 0,0,0,0,0,0,0,0,
-+ 0,0,0,0,0,0,0,0,
-+ 0,0,0,0,0,0,0,0,
-+ 0,0,0,0,0,0,0,0,
-+ 0,0,0,0,0,0,0,0,
-+ 0};
-+ /* ncform 4.1 83/08/11 */
-+
-diff -c mh/zotnet/tws/dtimep.lex:1.1.1.1 mh/zotnet/tws/dtimep.lex:1.2
-*** mh/zotnet/tws/dtimep.lex:1.1.1.1 Tue Feb 9 07:44:02 1993
---- mh/zotnet/tws/dtimep.lex Tue Feb 9 07:44:02 1993
-***************
-*** 34,53 ****
- d [0-9]
- %{
- #ifndef lint
-! static char ident[] = "@(#)$Id: dtimep.lex,v 2.14 1992/12/15 00:20:22
jromine Exp $";
- #endif
- #include "tws.h"
- #include "../h/strings.h"
- #include <ctype.h>
- #include <sys/types.h>
-! #ifndef SYS5
- #include <sys/timeb.h>
-! #endif /* not SYS5 */
-
- #ifdef SYS5
-- extern int daylight;
- extern long timezone;
-- extern char *tzname[];
- #endif /* SYS5 */
-
- /*
---- 34,51 ----
- d [0-9]
- %{
- #ifndef lint
-! static char ident[] = "@(#)$Id: dtimep.lex,v 1.1.1.1 1993/01/30 04:41:48 jtc
Exp $";
- #endif
- #include "tws.h"
- #include "../h/strings.h"
- #include <ctype.h>
- #include <sys/types.h>
-! #if !defined(SYS5) && !defined(ZONEINFO)
- #include <sys/timeb.h>
-! #endif /* !defined(SYS5) && !defined(ZONEINFO) */
-
- #ifdef SYS5
- extern long timezone;
- #endif /* SYS5 */
-
- /*
-***************
-*** 168,175 ****
- register char *cp;
- register int gotdate = 0;
- #ifndef SYS5
- struct timeb tb;
-! #endif /* not SYS5 */
- long tclock;
-
- start_cond = 0;
---- 166,178 ----
- register char *cp;
- register int gotdate = 0;
- #ifndef SYS5
-+ #ifdef ZONEINFO
-+ struct tm *tm;
-+ time_t clock;
-+ #else
- struct timeb tb;
-! #endif /* ZONEINFO */
-! #endif /* not SYS5 */
- long tclock;
-
- start_cond = 0;
-***************
-*** 178,190 ****
- bzero( (char *) &tw, sizeof tw);
-
- /* Set default time zone. */
-! #ifndef SYS5
-! ftime( &tb );
-! tw.tw_zone = -tb.timezone;
-! #else /* SYS5 */
- tzset( );
- tw.tw_zone = -(timezone / 60);
-! #endif /* SYS5 */
-
- while (isspace(*str))
- str++;
---- 181,202 ----
- bzero( (char *) &tw, sizeof tw);
-
- /* Set default time zone. */
-! #ifdef SYS5
- tzset( );
- tw.tw_zone = -(timezone / 60);
-! #else
-! #ifdef ZONEINFO
-! time (&clock);
-! tm = localtime(&clock);
-! tw.tw_zone = tm->tm_gmtoff / 60;
-! if (tm -> tm_isdst) /* if DST is in effect */
-! tw.tw_zone -= 60; /* reset to normal offset */
-! #else
-! ftime( &tb );
-! tw.tw_zone = -tb.timezone;
-! #endif /* ZONEINFO */
-! #endif /* SYS5 */
-!
-
- while (isspace(*str))
- str++;
-
-------- =_aaaaaaaaaa0--
-
-
-
-----------------------------------------------------------------------
Summary of changes:
docs/historical/README | 3 +
.../conf/doc/RCS/{mh.rf,v => mh-intro.rf,v} | 0
.../mh-6.8.5/conf/doc/{mh.rf => mh-intro.rf} | 0
.../historical/mh-6.8.5/doc/{mh.me => mh-intro.me} | 0
docs/historical/mh-6.8.5/local/Distfile | 88 -
docs/historical/mh-6.8.5/local/Distfile.nbbc | 16 -
docs/historical/mh-6.8.5/local/distfile | 34 -
docs/historical/mh-6.8.5/local/distfile_lib | 28 -
docs/historical/mh-6.8.5/local/lbl/diffs | 1190 -----------
docs/historical/mh-6.8.5/local/lbl/files | 13 -
docs/historical/mh-6.8.5/local/lbl/sbr/formatsbr.c | 776 -------
docs/historical/mh-6.8.5/local/lbl/sbr/m_gmsg.c | 356 ----
docs/historical/mh-6.8.5/local/lbl/sbr/m_seq.c | 76 -
docs/historical/mh-6.8.5/local/lbl/sbr/t.c | 337 ---
docs/historical/mh-6.8.5/local/lbl/sbr/tags | 1 -
docs/historical/mh-6.8.5/local/lbl/sbr/trmsbr.c | 236 ---
docs/historical/mh-6.8.5/local/lbl/uip/m_getfld.c | 1 -
docs/historical/mh-6.8.5/local/lbl/uip/version.c | 1 -
docs/historical/mh-6.8.5/local/lbl/zotnet/tws.h | 1 -
.../historical/mh-6.8.5/local/lbl/zotnet/tws/dtest | Bin 46603 -> 0 bytes
.../mh-6.8.5/local/lbl/zotnet/tws/dtimep.c | 1643 ---------------
.../mh-6.8.5/local/lbl/zotnet/tws/dtimep.lex | 375 ----
.../mh-6.8.5/local/lbl/zotnet/tws/test.input | 23 -
docs/historical/mh-6.8.5/local/linux/DIFFS.linux | 950 ---------
docs/historical/mh-6.8.5/local/linux/DIFFS.shlib | 462 -----
docs/historical/mh-6.8.5/local/linux/README.linux | 118 --
docs/historical/mh-6.8.5/local/linux/jump/Makefile | 55 -
.../mh-6.8.5/local/linux/jump/jump.funcs | 150 --
.../mh-6.8.5/local/linux/jump/jump.ignore | 1 -
.../mh-6.8.5/local/linux/jump/jump.import | 164 --
.../mh-6.8.5/local/linux/jump/jump.params | 6 -
.../mh-6.8.5/local/linux/jump/jump.undefs | 1 -
.../historical/mh-6.8.5/local/linux/jump/jump.vars | 95 -
docs/historical/mh-6.8.5/local/linux/linux-conf.MH | 30 -
.../local/linux/linux-conf.config.mtstailor | 12 -
.../mh-6.8.5/local/linux/linux-dtimep.c-lexed | 1672 ---------------
.../mh-6.8.5/local/linux/mh-6.8.3-diffs.tgz | Bin 22812 -> 0 bytes
.../mh-6.8.5/local/linux/mh-6.8.3.README | 68 -
docs/historical/mh-6.8.5/local/linux/mh-6.8.3.lsm | 25 -
docs/historical/mh-6.8.5/local/rdist_script | 23 -
.../mh-6.8.5/local/rdist_update_lib.is68k | 7 -
.../mh-6.8.5/local/rdist_update_lib.sequent | 7 -
.../mh-6.8.5/local/rdist_update_lib.sun3 | 11 -
.../mh-6.8.5/local/rdist_update_others.is68k | 2 -
.../mh-6.8.5/local/rdist_update_others.sequent | 2 -
.../mh-6.8.5/local/rdist_update_others.sun3 | 3 -
.../mh-6.8.5/local/rdist_update_usrlocal.is68k | 6 -
.../mh-6.8.5/local/rdist_update_usrlocal.sequent | 6 -
.../mh-6.8.5/local/rdist_update_usrlocal.sun3 | 10 -
.../mh-6.8.5/local/tmp/mh-6.8-bsdi.patch | 2148 --------------------
docs/historical/mh-6.8.5/uip/RCS/whatnowsbr.o,v | Bin 18546 -> 0 bytes
man/send.man | 10 +-
man/whom.man | 7 +
53 files changed, 17 insertions(+), 11232 deletions(-)
rename docs/historical/mh-6.8.5/conf/doc/RCS/{mh.rf,v => mh-intro.rf,v} (100%)
rename docs/historical/mh-6.8.5/conf/doc/{mh.rf => mh-intro.rf} (100%)
rename docs/historical/mh-6.8.5/doc/{mh.me => mh-intro.me} (100%)
delete mode 100644 docs/historical/mh-6.8.5/local/Distfile
delete mode 100644 docs/historical/mh-6.8.5/local/Distfile.nbbc
delete mode 100644 docs/historical/mh-6.8.5/local/distfile
delete mode 100644 docs/historical/mh-6.8.5/local/distfile_lib
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/diffs
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/files
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/sbr/formatsbr.c
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/sbr/m_gmsg.c
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/sbr/m_seq.c
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/sbr/t.c
delete mode 120000 docs/historical/mh-6.8.5/local/lbl/sbr/tags
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/sbr/trmsbr.c
delete mode 120000 docs/historical/mh-6.8.5/local/lbl/uip/m_getfld.c
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/uip/version.c
delete mode 120000 docs/historical/mh-6.8.5/local/lbl/zotnet/tws.h
delete mode 100755 docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtest
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.c
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/zotnet/tws/dtimep.lex
delete mode 100644 docs/historical/mh-6.8.5/local/lbl/zotnet/tws/test.input
delete mode 100644 docs/historical/mh-6.8.5/local/linux/DIFFS.linux
delete mode 100644 docs/historical/mh-6.8.5/local/linux/DIFFS.shlib
delete mode 100644 docs/historical/mh-6.8.5/local/linux/README.linux
delete mode 100644 docs/historical/mh-6.8.5/local/linux/jump/Makefile
delete mode 100644 docs/historical/mh-6.8.5/local/linux/jump/jump.funcs
delete mode 100644 docs/historical/mh-6.8.5/local/linux/jump/jump.ignore
delete mode 100644 docs/historical/mh-6.8.5/local/linux/jump/jump.import
delete mode 100644 docs/historical/mh-6.8.5/local/linux/jump/jump.params
delete mode 100644 docs/historical/mh-6.8.5/local/linux/jump/jump.undefs
delete mode 100644 docs/historical/mh-6.8.5/local/linux/jump/jump.vars
delete mode 100644 docs/historical/mh-6.8.5/local/linux/linux-conf.MH
delete mode 100644
docs/historical/mh-6.8.5/local/linux/linux-conf.config.mtstailor
delete mode 100644 docs/historical/mh-6.8.5/local/linux/linux-dtimep.c-lexed
delete mode 100644 docs/historical/mh-6.8.5/local/linux/mh-6.8.3-diffs.tgz
delete mode 100644 docs/historical/mh-6.8.5/local/linux/mh-6.8.3.README
delete mode 100644 docs/historical/mh-6.8.5/local/linux/mh-6.8.3.lsm
delete mode 100755 docs/historical/mh-6.8.5/local/rdist_script
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_lib.is68k
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_lib.sequent
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_lib.sun3
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_others.is68k
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_others.sequent
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_others.sun3
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_usrlocal.is68k
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sequent
delete mode 100644 docs/historical/mh-6.8.5/local/rdist_update_usrlocal.sun3
delete mode 100644 docs/historical/mh-6.8.5/local/tmp/mh-6.8-bsdi.patch
delete mode 100644 docs/historical/mh-6.8.5/uip/RCS/whatnowsbr.o,v
hooks/post-receive
--
The nmh Mail Handling System
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Nmh-commits] [SCM] The nmh Mail Handling System branch, master, updated. 15236ba2641efd8ce80eae3b67912139395fe24d,
David Levine <=