From 73f1ba9ecc732c6eca2db82b40f6353b305a58d7 Mon Sep 17 00:00:00 2001 From: David Levine Date: Thu, 1 Mar 2012 12:13:14 -0600 Subject: [PATCH] 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. --- 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 -------------------- 46 files changed, 11229 deletions(-) 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 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 -< #include -< #include -< #ifndef BSD42 -< #ifndef SYS5 -< #include -< #else SYS5 -< #include -< #endif SYS5 -< #else BSD42 -< #include -< #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 -> #ifndef SYS5 -> #include -> #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 -> #else BSD42 -> #include -> #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 -< ---- -> {W}{d}{d}{d}{d} { -> SKIPD; -> tw.tw_year = CVT4; cp+=4; -> } -337,349d403 -< -< <> 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 -< #ifndef BSD42 -< #include -< #else BSD42 -< #include -< #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 -#include -#include -#include - -#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, "%s@%s", - 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 -#include -#include -#include -#ifndef BSD42 -#ifndef SYS5 -#include -#else SYS5 -#include -#endif SYS5 -#else BSD42 -#include -#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 - -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 -#include -#include -#ifndef BSD42 -#ifndef SYS5 -#include -#else SYS5 -#include -#endif SYS5 -#else BSD42 -#include -#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 -#ifndef SYS5 -#include -#else SYS5 -#include -#include -#include -#endif SYS5 -#include - - -#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 675b1d636c5573159a0b1cc3408869484419ffa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46603 zcmeFa3s_Xwxi|jq%`l8O!4U}=4Vo<=LF6(Z8YLtFL>&nN0X5{N1I$GX40Hf59BKzt zwBCY7Q=58na&pqtrm2Ufxz}2>HnE9GNn)Xb=ZMT=LPU0dU8K>C)FFNo$ICCbdyX6Ki41e=yQ zY0}iRvWhvBnWfFH^3^QVy)$#NGt;KCzfGIrs%GCTEi*GGD=TNBO(d8yiL=X^s%2*9 zWM}7OPNXcY&{e}RCnKh9BFEB_=d`$*oK?%lQ`U892u>5hSrfA+l5KKYX-#w5lqs6c zmNV%(aFAik%D`s5(z{xoiCu;e#DRUx=#n)2hTPEUw4_l5ci*skLnUoM)ww5_D$2KX)HhD0g z%xn?Htf45^PcWs^Pu1NAx$-I8De`wPZ)5(? zSA=z*6Sl=MN`yH@*dh^T(bH|K=%_3z>hM0`Qy%ZAOU#(c`GL;$_GRF%ms1oZf=7i> z#oy7Ikn-^kcM{^HOTMo!OQNz;cZ^<&8wX`M(K<4x`077xkn*Xc|yK4CC_d8%Z7NlR``Lrb00du_AUSmkSS-ALn7nuf%W zYlaj$sEHzC)i6*#>2p#1}fh4pHl|!$4hNbSYW)R<1+^^+L@7vK|S?Vw*!ZsyVW`t#^ z8Ih1_!z|dCJG)D^u%w0bx;#WrAs?ddtuHo)_56&IQ3HOr8L^8>wjd{^vQ+n1;h$Wz z)@?-CWQVC}Z3D;35FE^}ECo&yxV*dwX$*pvAta3&Omp^25if<)oINe@7)}F<$@!?Y zs9hCZcbhBi@nzAwXnc8>BUNM@sY%y{wapKSDEj=OV_i> @f$WeZ{#Z^gm(8;?o1CircITYr3fp=7!iznA{T)A`>NO29Yqf^Tw=^#Ac|)Yo#rReGrpYI)!zG5;$1mxJQy zY8p#dQVfltXc|TuT|>jkLRV2NjiQlcr7<*mfW{!Wf=u{c`eP0W<~;w^2by=m=L+~l z&=86gAqFyB5JP&H$@n!PgWlsP32o@yPZ)*KP~;HIgLB|KE|w4H5X?o&F-Ys;Wn;=0 zqZ3Reuc2u}V~10?9`W3~f~h&2V+7MH`bP~5qI0gQerE_*j1eYfNaRrS6<1sl6%{qi zB148pkBGT4_A2YhQCG)}9&?R0Ha;P7T++2;ll6rEBAgVFLzrR+7awE9IoT`5;BAn9 zv@i9$>TU^>!c^m8#WLPVMwvwSpF?4)}P~Td5u?d~o+t z0sNK${eae~CF-5DN%g9;)l&LCZB{GkSM*b4_8i>3>aFTL+OFQF7O8X9a`IERT8I?4 z;5$p5Mzyp-El{VbIdHk^4eBI>779jxqGr>h^fPrT?V{cE8#Rl1R2%J8Gt_i7O-)rN zs441rHCeq@O;X3HiE4rxuZ~qU^%|6Hj5-?rW7Sc(y9(h+C^6;`^o|;f7zy~s(tdhU zy+Vyrhr|C}`aQi*hv{$h0sWmmrjOKg`h@ymcK=DAQh>fvPf)b;QLi%B9lrj|+W>6y4aK)s?C|9T>)M#atGF+6wq!Rr5MG3A@%_zZ0 zRaH&Om+(D>urQ@hIji&wUWNdDrF^7(sT@;2Q%*r4zfhrk_u_h_n*ov<&^TO@*ch~Dt|!i7nDQF+xWhs>{Z@S-ct6-k}A8EUn{-J zui)Pc^e4pnBdEQDm~SD+BIQk`Sox(=q3lt9fs}idZe2p%_sWyXPn7w} zgNj3WTzOb|0>4#o_bWdK)#vd0jPf((UgZ(xY2_)zeF8E6L)oOPRkkY|m48 zrAet)+C{2XWf4NF)a6Q}ayMe#j(8P{Pq{@Yg{*QwZHm&S#L=(mNm`2BRwCz(%4U>w z6)A9G;AP+o+ZZ``_rHTETj>PV)#p>A>ku-K^Vgy^kj1}_^$lXsBuHSLsDlerZMe+5 zHY)dAX3TT*=t8PZBIRb8o_;I7`)D8iZt#mZ_g*&rEy~sl;@$_HS_RG7#vx1>n)JiL zSi)zJv-<}_z7gWm=wJGL5Fxjq?*Iz=e6#ByC6Vq&|2nluu^lZ<=OFYd<*WPXwBU!9 z@J+t3R7UjiCX6JE1K&vW&yi#nUn5;1{G;$YOpjp^*Wnl!jnI8!FjC_5vEnyK?<(9` z;m)Nu662?i)kWdqmOK)nRE-?Op|CbTI1k%3Qa}-SWY=qg8p+rpss%akGN|jVkw;}cIbO$Y^JF#RijqalPR6`5E!!6*c znH=Or9#zyz-$fp)Xc=vxa%k+$=&4(1D>cx+Q3p*{#)4)Uct)>HQ>at1g6Hprd~2u| zJiEb54!FA>e0jl5E^>HL=Xp0`yab-_#+e3Tk4S`<6@0$X@D()G7 zNPFpZ{Ju$V(I0Vt5bj+%g!?~(5PuKTJMqPkYg)Cc~bmC}H5>GlYDq_~{d+0c|an zPSY1~;tOiymFtk=16)&J?^Eau-23qPgOWzSR#M@ciWr>gL3%@(f)c!eJ1!k_jXUxC zAL7oB-(C3rhL$7G--z!?l%|(XV(7ITU!yV(zbo-O0pC@+n~HJ3DmbsQf6ZN9c`VRWAdZkXen_fb%Rtsti(T|m( zC-W$7#f213makHS-meP1?*jC~chOemPUQ}yza1sKO{r9FMY?&)TxAaW!Bt8*C|s)~ zDT(+prBbCtnT;O)X7u#4&_m8tW+>B@LS>p#pyVrg%1xkjqjH0it6Z<-0Ea7+(PL*T z6G3a0l7$h74gGRDu%Jr+P~sI$xkeeIj8@{5t1<2wsl+N*Vstb@iB^Uy7L1splq*;U ziW%#`Ecr-`rA$hMpss=v(OHbkPSHOw&g?_XSLkIrKrhhquul8XKl} zFa8Amk{+jDP&fTI?WCX6WArnOD}PEm=qL0D{g@u6|DuQJKdA}ryOx~v0R1~{rytS% z^h4T)@$G%IiMr?>+DIE{J*~wEcMYwkm9&D|XbCN*bc~vtXg1PLN9qcoVxW9NnJHXI z;Tze@OQ(P}4bCC|x2`-7```Qy5msH=b~CL0FwAPNz^wKv;2}Wc@EeJF?l^>8i75!H z??~AGMA&^Re#hfC3)XQwtY0Qxbqrz5{wBLpu@L37y)6FhBHbGc5TA^bTFnw;v$( zHt64d(7|GPosNwkR{ zqE-9`*Qb%{MP&SF~XZ55&aexZljW>Y{30GxHN=LgPe+r${H4Zr^ecR#+Z za6iI$e<^;q3tPDzwo=+jue6lHPA-)85i^OJLA%ISQMZRdYsj{cZQ#W$V9@^EC@mj) zk?RI5-=Njwo`mh*I9SsJSiZ66*}jWdKDK&6iwA3JP{PFYo-hkNOJAXH{F2VlXTtt{ z3JchW-tc4eoF8G{`Zx5eAEKZ9E4_#Q^a%YKJ?o#)^ZpV2?>p#m-x9snLG;eA5%<@B zfYp2nefkUNFZW=^vkR7Ut8U>|2@BVOam8}jxqrimV;M#zZ0}kyO7LN{(1=li7h{7u zj1d;W`Yps*!;KM#6C;*tj8x`hBy%h5VL8SwWf-lL2+MdgMnW?&!kUgT%`}WJZo&xZ z28=**FvhZBB$kd5*#wNzuEF?i6h?czHWnq;iT>AZsj|vl=US>Y)l_-CSV3M?RbTIN zl2a@{H`ms?lE;&~s=2C8J11JLx7p?M!q?^VHTcrfybW4aO>=F7S93SCc%Axw!A-es zO2YG`Do4fd5nc^fc1**sRf~W7BHylr6Br|_*6M;)yzZ|Y@zjayQMXaj5qAgOkqP}+ zf8T)^2Zhhuy3a27yv;t=`JQNAu~rW9uXTPESsro3*q16KeXD3#e?kw3l$8Q+E)coh z`~`gSl9wUfAuD{WcP5$R`R-^kR>;%0B;t31%@Q-KC;!aHmS~%a^3VLOzo_wk@|Y8T zkN9(VAJ$ry&hc(fnrUmgpDfC(p58Un&wNpA^F`7x_j@MGQ268|6=osEFR_lHtZInl zm`MfE6HOGFQl@erM2>bFa^hI8_DnnT>CUY0tflf|nc7W(Ma;LgjQO?B0bfpzo$y;y zZ)i+4Z(qUk%RN5gAVTjfh+#gJLy3rcLt|U|FP^WaA!_dRYmFseI#lTFBIxn`%HwKv z*r>2JLzJPwu+s2+_?+-H;U~gRhJO~`Z&Zzu#%SXxW4tlNm}Sf{78r|+<;L5M)y74} zmB#hP$BezkQxWMAivwt~rqdCJBhHxAh`xwEDOU#tu>ZpPV4Y%#Zj0#Yj7}k?&9Jw# zx1IGvS*rcQOug9uY3qNvt4-O^<)E_*MO~A}X&E)Er>*ypUz=fxp4BrG@vm56nnB()mFZ0jwstXl0E_MKlEl^G7^7cB_*X|AQGAc92>)tF+m|nMt=ZcQ8^qN? zr$vrm?Qj^{_N8>5AKqpeh&PYz$bePC(7|JD(|S7{2KH}rZ1-zMN8u&oREap+CF9)N z+u4>|Y&21dU-VdZaMT5E(I zSl~xn8>8V2j#UGSvA6#76zacUGk2jTZfH!TiVoRdYfN>%mQ03TuA|Cs{3?fBQx1xF z348et=UbkM&&wE6MPVIDQ#n1K9q`cS3;86Ea!8J=;`1Ez+2d8ntxehG_r%nj5N9&{ z*0!m*F9GrkJ5ZeP1=HY^8mK8pEBuSpa{qh&wlwbfQ5O4ox#z^|V>g*QC>2S*Q^EHk z@L;VJde59jT@d#bl>RC>V-=M5&##n0TL1j4_(X1h;B7uja2bPOm)EH^xV7pQw;Lnr z`r4)@jHG2cF-+Fd28P+S-o}>ZV9bWaE}y%uVM*|mjZJc$w2%ym%UA{#MJxepWx2n1 z2N|U7ofe#BsI#}8nkV=jQ&yVDQaZE+<-DP>!2g85!4&&$Ij-K*l3vjcig6P?G*Fl3 zu8s=7*-u1%Z%mQj%M{B&(ZCcBACM=PtkoW`NKtLEg!J}dXlpUDuP?WA2*xMybDtCz zrn<=DF_znlEbcR!iFL_ZEygRA8Kjp@eG?^-XE&_Xd~PG>gsAmuhf!QBg^pIblNKva zb+~cfN~T+^j-5s^j%c5%-z(x?Eoj$NshKh#85$1>7G#=8zbZ+|WGG)D$Hbaae8OxF z^l{zlr<-#1vHmia;Im(_G@V3`@~A(33r?zG>|Ye)iIU_0zgR37|HIPck`j%1z@JWC zI1iY4<}X`9=KvVN%Q-+6LRzPv`FKi7K~~GTGk}z7(UVLxm`Wf2znOpLFXxQ^Kh($n zl1~=}+}aRmt2uCNutby_?cHSs(oI{PA=zMFsM$OEA>l@AR(Q<3wOTYLD>hQ|QQqY8dW*1$QF z%f^nU)l|y1GRGgEOy)W5 ziTQ6FgVowW1})E_Ua4^%Tj&4cZ)B)GsYQ0Jd8_B3Us6aohBZ61vH?m_Xb%hRt$nAs zJ^XRk6YHE&<_Q!T2)K<`wc&d9sxY>EH#8;>-PVz?Pt31gXO0R+B)r7@LBrzYxvmzk zYiXmarrG7x>Z+QWwfd^&nuS`e7k@AWm}85!&wMC{ETUA*r*f!hxLdZq3v6$Vp^n!Fg~x}MiLrJ5SWz-E@zq*M7SUqo zSDEE$Ol$D~H4z)NV&Qmb!zP|%D~I^^hQK3=l&oxdG71y(_*9>p?ca0u)=z}}dk6M!98Rc` zIX;E;C_|k7%&?BjBSU4Wh`Z6=dg5)C+B*-Hl?s_eR^6yYCVB(?!7|uCBwG^N;L~4l z$aD$!6#Y1x^RkXxwIZBHx8%z{$eMMrCXsS@^DCJSqBB z)skV${0K1>z^(_=W*~RejW|~rzN50#7eMWgu`i-TE~zP1%R?`qdCWe`ibrvVa^LHZ zk{0Bb2xpxM2aXA6xCy6-aa~45Enc`f%5U*dg{zTp+L~}cm~af6a4?*YR`Y3MJ~&Ks z7Pj!=XsW1c<}f}?ieSFz2e>(wR~+T$xIRA9%?bE|G%Y>`e2TdM$BFp_^z_0x#OJ1` z;W`^vKCfK{oR1agX;?d(jy1HISWBCQy}x3ttd$TSL@q*%GOV|iW8G~Ib{OTp;%(f< z0{t0kV$^LN@~>$x<3FXCI-@ooJyazB8qv2#)MZe{@Qm^3?Z%^K#*-N#7BRm*mSHm! z?yP*L#_=6Auv3iS++1J7XNa+xTh{KmyhrT>=cXXPDA}o?t`)75BRg6s&teO}HH7QIzmN!KVDb368qJQ5QJs0!Lj5L5?09Y;icGPO^?KTGt%f zlqw?eLE9!_sRP~i4>cRNG(KmHG7!CI!q^_Co=pW)QR259$?@o=I?%>4l#CR@c%0r9 zr%yMF+J)618n%$n%*y+WXv8wWnc!lylu!+U51(MZv$^}=#tap+9jdaI+>6uBpbiR& z;w1E#3>B%))g-&5U2?A@SH^ZnqXxS}I4E+&pO=cmTLV`P#);Z1>hNty%n*2(H8BlK z)8m?0X6$6oW&bdjlG4ePj8Ye^s2dd@R@mN}TRfdNpbFcyutIU7n<7%f6M}JILgYL46uLkwqOIBilJgiDq#WVKvZP)a5>mlm-uG z0!8h0Y9Z`$ksnuo1|eS)c%}0D9Y%58E+jsW%Q7;VC4R+cT$Yi^#V05?bmT{(E@7w5 z+RgDriT75{!l~{H*QdJ%wI-;?tOJ~`=ut{^8)0{CXfHnlHlWQVqUT7|CQxE`d!3aLDLKXOKhQV-o#mphARS_vn=W8+nv)+YFOVLTCx zA>^xgU+pRHc&fwuj21RPXGNjkZH*5bNFP(&Hsxzl^UOo>x=qVfaI2QvD^_}0qlsu=6bbN#K6tjWDA6X{^Prf|8B`s3Bt{L{gw7Afz$ z+6(>V{?-WA^Mrh|w)VgDQ%Y`C*WnkZ({tsRke{gV_mn(KG_SHK&tqnEho$(>VM<90 z#wIt|TPYS-mHn5z3sfV}f!Wh0Pnj|$6B{xORn4_tkJi|L?HJA5(5zK0uBxr8s;+Zs zX=z%cufgN1s@Ht3@3hqVTuoYSGfpw{^ILbUl&zM>EFynAXCj{nyRE#kRPSxxw!byy z2#?~1#Ja6^ZbK!o9^yp*FmqWcj}C{#@>qLh$@~6z`WwpJ+s`Jyd#CyKVzqZiiFf_-LMUZ6jzj!X`- zHlllHpdT^KZ#`dhue*=OPWHJ>_tu`W(p18|Y49GVHkHhtRG)&j*0{UV8@0RBy%2Ow z-H(x_em>ez_U={gdAd(beUhUHu{6Yr492R9Myx2rvIS$+C4s8pZz$zQ?Op93w)eKb zy7T<0?{MCrS+shBI)U5PDR^NcNML!Go|KYU8t~dwJ&FPdwom> z%FLy?y|A*>z%8QwuwRSl`Z>k*{+z76oyBb?1q~+d*B76)hr; zatlknU*kKF!ChY9G;E~VxRdV!{T1Lj1vM~o9-ha*lNN$*ZpxliaktQjTyizzpnq|j z^h+ZK)%8BLHp1)n&TK2w~@oleTBjIKzALLi#-a1Z#Qt=F<%^W zWmsIkI^~6w=XsPpaGHAG#;B)r2qt6lA`3?QRgLwyPz)3On zW3Fz)nF~eKZ8F99oT&MH6Zvet?N{fKI%oD^$hrB65@$gNDX1kdjp-N%g`tl$75aP7 zMjdKTJM6l&VNCcAvQXnI zc_o6#-B(foTN_r=B5k3ZedZp6Y%O>0AhRx!V{8G3Zu2CW(MB=C19n56tZm?Azz=&5 z9S*p(HdxoXz^MY13$7n!J_dIR);ogBZcHrwgv_j;xySgPDn%&A3dT@52Irc445Mzv zq54#j+qS{nF2;eIM;K}&G2bV1wh_|o=w}t5^0!ND0coMPds3oq+5HzpO;hB0_QQ|J5yW)K6xO~0?HSlN^^M0E< z5jKhQzd9-;?lnGz<2D}Y-PpCZ5Npo!{U7+_^X#>xpstQ^k1T2~2J>byx&S9%5N+V6 zSeKRLxlZzWqO{Iz_aQe+8h8wxwxy9pg{&25W+OR>9;sN3->#yq-bDLcrm0p}mbL}D zJKa%ial3b7B)k|g+bVvJx&GGOTQNR~z`EI$==F@qEfRf)VL&==$k4+5rpK5{+mZH9 zaR0vbPe{xC77v|+;PR8^`x%Gv@2wv50tLpCb#I^bGo7A=hHFL0Nwa3t? zqNOR6XC%j{(0i2}kpuUH(`|t!SIidyGe5iPpM{ z`5Td1St>$~fOarMJU=}GZFfRFnaH5$r$UN~gEi9(89_fSX@osH*&b<|kd?n;Ykibf zkG4n_3&vLlM~ZnXmfHdz6FAk#;)ul+s}=)gFsk)1T9$&Xje(GwKc3e1Jx+E!4SE*n zOG952ICVoC6$tx$9F|Bt>&YcB_&H|{FRF?c^h-fInb6GH=Z*yIaX z-nsSnXi2=D$9CW}+6%GmphX? zEu0Fre;v2=T$0b&Y8kLWw~`^7{(tubpEisk(^8pd6@ zeOjXlkNhjvpeyP6Gxy434pcLT`(<&@ysazA`wtH5&&Z(ue7y5QOI9pe4|;f$CsmFJ z#GSz{Y=pDJ5sR=ec~^6v!-PB4tybM$(jrpxIKkve(fArn)9)A+lI9^Xe!y6Q`F2KU z+^P_Bqu}iqCoO$FCzByQE3mb<=cHvjeB;qy4SmoyK5!O#ALTJ+wpnUObHo?b2F@-z zW?zVBi*xf-tTdzVxuKb1`Ro;#<7OQ>DL%>RZYDobJuVHoy_eL*OHb&dP2t5?Iid}Wjba$ ze`RJ9=Uy!N)5Ao5SUIwCe@nv>@=U$FnmMFW<~?MeX358jCD(+jRZ9-^58h$!orhW+ z<{qWyUDKZcmh}5baSsWijq*6<3%$>84%${UP_%Pfvaqa*J61>N-*B2vg|*_*PpoKh zAr^E`FxE!>ueJ%t|K?=d4sGJn9M4fBy^=Fh^r%IOw!7>)DfR;;e$l`o48D@T%oCsK#Cn=#WaXKGOxA7HJ?kRDyJI`+5a9iWzC8I9g?X?JHesg?O>)JosbZtEOj z`Bb~@`e>XaM46vcdT=V*iBq!A@rtt2L!)rN*|E2BCtF!qxP^iKqV;Yg&&G!SJvPom zLwhfqD~#sO;i@M{m1{JXE}M>e9vvE59Hf*2N_9n-OX-SdLMZi9T6ss|Du+3gmfd^S zF8gkav8;5~iL-VtbL64R&S73i4qOvGiIAMx5Sj<5R^XHe_ui{K3$<|Hu%7mjStdHR z!Eu6P4?TI&*y|BH=Q3l@cbE|~Lel+UL(wXCUp{h8vj_U0JrU@4Qe48t+PQZN(cO32`M^Re>#%7gm6Yy(mOT%wg zn+?Au<|`@1T^1~98uTo1x-PO1qs-BGTS(wU`38qupidk|-DfuU%xxM*d5;R8j~&Ow z^|<4xxPIg~#Pd2woX~w+S7$P2*MZZ$SQmO9YeKy%dBw$YrCpp7!ii2BS^&9U11IV3 zyz<$CBTJB@RA?4>z(T|MDLk=Eztz^Y>QHCA@%{Eg?T7r1ciRHUyAShA)ocwM1wN?b zBctyMd~Qh(e2z3ryH{0{F)RO!G1oUd*dC4X!S-m3p(Mp0UQX#aTRu5_C*Orl#y!7% zB0c;7`#QQ&*2uFn9Z|TNaAoOO&dx0AtW(>RAotuZ%<1F|eC{#fS{V4;onEx6&MbHu z88`~PA5(<-@Zaaun)W)_fUA`v-|ODkg{#76uQ-b-$=H5o>2}m924U* zCD2!g14eC1+KfOSd|wk~yar_^!}9{i3;djrp|MQ2ebC9%fdfJ_dm#sQ2Ur%P%Xodn zO<{-5@vYW<-?n=L`{4F#MyxRp?_Px+MOQ+Jvf4}BO2z-1s3y8?u-KmJVwMk;5Oj5*HeI6-(P`U3+&;n zY;!)-Sr<8&qG%;7k|DV2)Mk6FGZGMGhAM+U46f-A2lho4z7Mo_l*zMT5ImE zRhY*ckyq}y^)>1_y}t0SqjP91lr)sX12l#Y&^WKoNAV09b$-zj8e5gL>4E*Iw;rxV zcb0t)>szD+ZI7PW8R)5tO)CuaU`7gkF=vy_6mUmD8a=v}_tbr0-idkCSAqTY^wnd# zAWK{yX6@Pz4B77UjM0o3Kj5w|2AW|p$B<3ew+ZLzTiSX0mLc_x^#Rtcr)Z_u2raWg zM`JMe*onFx9_Xo;e#V$X<%oklqW45eP)7|yCqt#1Oxsrq9n}zbe?!!z=+qqoosT?t z50JD+Cd_qV7wqwoo7cdyL$l*yoy5MzfQCDWjzKpJZAOO?Ed$o^U$yL!i@7E}bT*#H zJLb&%<7DDK6O71&&N^diF3)iX$5Knl zVMJ>(Vn;B}{h26TB==Tb+)MRU6sHvj`hU33k?0`RIqO8=bH0b1`W?}-&-J)nqT8K0 zy^yVnu+kA9RFhD^=sRugIhm~HO zlY>v+rk+hF&gOytUEt>g))zV*IhQ+1Fx(k3O2E2vc?UFeS6z=I@3JY38l(U|kH+?v zcc8>a8Dkabnak%Ttap%7EOb=x(g$9qTrMwR8$&1@D(~P?lWXrc;GiTVeUO8L-$WW= z=0OUOz!6;FH3P=?W`lB?JPwJkv2Io zV5LM|9?;{5c`Uq&CG2TTWvN(=!`f8AR=MgWR^}qGGUpGT^U~KZgDY{0I~k|&b9HJ8 z*0Qnk25Xu|hHjvm7|BV?BCN21ZOiBvty&MK<>8s7WFDQ37 zlIyWs3z&EJa#Ec00oKUH#VwYpLANwI< z^-|VZ=nhJ#PWW^wd9+};6%}KYfMb!k&kKBl`V?!$d=Gsvx=Vtqwamq0jHm}Bn;oP< zE8WQ{yh;pR?Zx#{WjIHlp5fhQZaWrH&*{Vz+YCLOo>&d5Ur`U|_bsOhcC;H9L_k7CuB zSL@73Zz9Wt8KA6PEI+LKeh(|b&}GEpxCXIr@eJDotiqmCzwdmE@{5wEQ=O6P*$?UO(t8FC5) z5*2$vcR{sv-^!IeIcm1DvL`;=o}Z=K3!?XyPjejU=;0WQ_pWrGgtanQuqI*2C0oU` z=&`SnWzQ`yVZOQx>sB}`6FdEOv+66b3b zND(dU%E6U!ZEmoqfSvBGoc$}*Lfj(PUY~V<-fMadi@m%N{k#VTdIq_dpxjti$|sDG zpX8cbay5@nKGd}=3@0x*M%2S@E3eSTiL;jm^su~78|Oy+ERN557w68$Gm-p^L);=+ zdRZ2SG37u=xlcAKq6ERS8rXHwb2nAt$yc<9WIdhrdAbub}V2OgunqGT&h{>Hqu=V?(3&Q!;dWWhUjtG0Mzv^gOXHD<(c?8^20 z90BBdc<}T9w*j_Dyc$}{C8*;p?G<5$TYu*Us zwxFIJ=!bcKL-fPx=~w{-|HC^RQNQ|#Oin}c%?`t?kI0ZThfjxswgKno%-ySg|#d*KMbO*VdBAqp5 zZAuaE-{^8k!5JcY`bGD8^tp3HtnSKEaN84n;v>Lvg}z{~X)fjgQhGQIl|o5#nA`L6 zj|cD8ui-7`VtMagRefOBs_OkI>yy`wFJcRudt^XThd6K4r>Syvn`w8a)3Ds+FwR?j z^q%+cVa*@jA^3^pHZ;5g>({8$>X?iOQLDM4f0w(k2c$lv%yC$emwDG}r+L=LWJoD; zn4VkhJe52<<>sWhiLmpbrAehwDWwon?M3X}=;h2^;0LSJmNfJVunTiA9!SQMaJllH z+jZ}1)+(V7maf(4Z&)`@YkofAHhjheU}!g|dw|EC&>D6o2uOJLYhwh&cmo zl)g&g=KyIX^N6Qqto90fIdc+yt>lD9ZpdkAO0i@9lP}d2=6||S(s|JxlX!C|rGD%R zIC2D?wKZ~IgXzo&DN)wV$I(g#!xn~w#R@H@KrzNi*)|0FUJM-Zg}w)pVMq}9RP&ORe@o5Cj}yH`4&f$o{BsK1!! z@)%piWkkSc!6vem4qM1^#T|WxajdZYCvyAF(PLq|lV`tk0%vHY?wMx(9rdgx6(v@n zB@*=sT|JS8)5?MVU!A~y_!uttnVo{7Ike^A6adjH9LLoo+g0xxZjZm}aX$KNPfc9W zPO^9~p0`7{MqD*eD*>e1hFSAz_hdmC<(GN@j&=HTSQ4#Fb5j?~jcqf^-HbC6isN>X z3MW%VtQny#dY(*|j^~wGa3RyU7BJ`{umISn-V8P8etz&jlAWH0w5B4BJ zgIRmoF5kAHa<#OH+7)eKJ)Le7_wvJGEg`SGS^r#0+zX@4$NW%SGsJ#)hp>;H7@Pu$ z;JQBBDl|^P8Z@UfrL4Y)uJ;S8d!yUTwK{YTk8g(G$m7`IH&*z2ccMpMM(C7>-&j0V zUI+VjFMzt^T;>aU;5Y#_g>;=P52hn1uNCscoycKr*Rvc$gcPs_h1B;9 z*-i(gdFCj~aB!Ti`9)6mdE(NRfy#Yy+%^2Z1U&CG{60>HnqMp8Z1&diyHqrToJ%M+ z9+UV2zuJSDBhrqTCA9^;i{JuaENN{;$Sy@00Jb8GfHE7g6xkhFqT*I4_bx=7!?+M_iW0aCt;dh?W6frXmbEwfFz9lWc z-0!uV@AqoY>pc#2gf^JEq(#HIjd^}we^0xX$7LGfoQLzFTxTPkul8ivvG==_hGU*$ zk)a7VdBI_rPkq5V-|-EwuNgR-l2y=-K_Q>_F+}gF@N0R3(>;TEX(r506_1*=2Uom6 zIeO1I`{%}ixlljmKqib0RNvL_?ciO@EQ@{5-`f4{tc`raytkeA*ke6%du#niVz$qx~SCH9V!23D5IIn5u6=^5Vl*csJq!nOypGOVH zc;5kQipQY!mI_!d%zTcaR59^hvKDMAz#9Y9?YOu8?F9B9k7#~8L3KpU`(B?X51M@h zHHuT0zM+5JL4H5T$79{K`O2d|6%u$8F^+N=r137&-yAq%K%}t14SCpyK|32rZ~p5J zkuv6-lak(PkTSb*?WTfs761jS1rzSNrVAMUedp^a_5rw#g^mV};lx`m=Y?kq z^>q`hqVh=Ry#I-Sd(2|{dm$&W-insP>nnu*>EbaT;g~6TEQg}5I!9U=Y&zt@`$W(c zV*!4J{`RwmaY@XR2+zRRr&suA{S(jFN0rB5A8BesB#t53D%L;yvhxI-Wz;UpWSZr8 z#xE^jrYt}@J^_hyb;2t192U>Da?6b|@BCgL5!!PUdNzr;XTwR(pp{16Ce_ce%;MKA zPQuAn>4u(zN=OPZKSs&rx)`60<`HV}ENt*ejoqW&$17&z6zp-y3ph5#!@m4-O|{t- zg5BB0ep@d}^GQu;Att3)d6S;Ppf7mXnVAd^lL80MI&C?$9ZQ}HitP3)BYCdvsvf8h*hn; zqJoAoHfu#egEh-)&&O5Gvcm4gRLpv<{Z;>>)7a_8I%UPIUjL#qW0kR#IV4y*%ql;; zi3$n|rZMGY^j|5-WaK(d9Zzcdc)}B+ws7+D@2z=n(=9Is z&R~Y!?!>d7WAjKIn~(HT!^DULw(2&0ED^lFabRq5ibs=HD=Zb}^Y&$V#%8gK%a)wP zYz*t8W{ho5=`(HJDxl2;pC0_YbME;*W!uqgP5pP9^ zbMo^`v~i4vC%ql`KS+4e_7%}1yvA=4c)e2C-`C_Ak^e6n-WpTa)SQlghnAkD1^+Xf zRxx`Pn7(H|oExqYZY|vXaF4_7f_oG07~B~=UVtYhx?nCte!#xj&|7p!Sj?guBIlM#qYlKwKVd}Jerm@HM{Dy znyR`wnw3#1YknYw)3vy^Mo_DAI`IT%6Xp9nT3sz(0D}MGq}4TeJv4o(s|GL4^x=&l zdg_8Ir{u!hQeQ1Ot65lE2LgEQd4q=cTDbVxPUgkc1RtdHHniZRpM2*9mAQQU?je2| zr_<%F#d{f;VvvJ^x`vv&5g<6z9}RWlZ4TnTx}^y(WMB!nmV(PBn&xY0YD&{%*VTIO zKCf&d`>GIO&1%xlx%Dots;forK2J-%%iAo8H;YG92VU+n2ePQI@-EXF8eMpSD6(fE zS2d!LjlNpExkIaMsA+T?QGP35jCXIg`|ZkePbYmx?d;legifv@3i@YGn_=;FE)Wsr3zGAeg9wbbdA zDLhK?U%2p4F0x$0|7K0AW@*!)FU$kKlSDk4%la@FQdNhSlsLs3O9nzKkl2L+3=jof zZ-Y0jN%*7En(+Lu%ucV~;KRO7nho;!Cwzm7R_1GHZm4Of)0X(4cUtqZMwgJNPOP+1 zu+2{qH?=f2HuzY*tCumWA{h;&KPL+5JPLB>h76YN9DlA4JZoIPv6>&~H%9m|M zyI5c-XL^Kz_#u*PX>!rDD*k78RcH`+krgXEq=upe+e3+~c}ausZmqUSbHWl($bE|! zRZ_E%m36?|37u?2a{T8tFYE)?H2%=GU3le5gS&Z26v~ zF4@HOw}v$dy&ZUtJ1Aao7c7>ZGn%z7dW5my2K{A;oA`BPRc_cSUEEsJ!j@)H#sMYw zx$vekmlvia2TZe^ni}i4rG#+GF9F7T&05Z5-_1n~X)dnCuDT|E15eYk`sxM{ft}+P zB&-SE$rGZ9_68WhpuB@Op~5Z<+FnsGSAAnM-XIe+5>QCp^bL4{6<-q-);85>-)U)R zu7dTdak-oN97tFkx)Wn|)SvX+^hGYS8m-iFCI zM#=c^)|k^ewL~qsxS)8vmMq@<>TzKS1`~ZOs9+ibJU%o_BW}POh3lSJ(Gnl*jM7jY zU(N-qPU2(IuS4`JU$AN=K3H`+=fimi!-DxU9nPCS%-8?)qths9CMv-SSVgZxX(uj!N@&jJhnHreoA+>2w{Vo=a!y7&=foOUKZa(wlY6vO)V1ALw9d zsg9w8rC8|{AG3Z9URXYHaC{we-t_`M(cYVu)Z*R1m(}7${912q^JT@x(E_wttXb5% z#FBEhHs!hu+eB`oa!FZodD+}z%l~nd2o^#?Ek$7Mb^t>g2k?_2_$gpWUBrJH80*mj zLvsh>KO2Id3&Fn%!K~%Me19E+cZcBLgy5bKye9RKr6$ z4)#LaL%~11^*nzWt{ThX&mX>L$Gs=wN2K7&pP)aip74jI#dXke4~O{pm)wJX9L~LB zsDF?S+V?sBoSq%`x}ouLD?YHQ=lC;iw)g=NdeNW4s%08pEUnpW_{$N07!28Lk^I(a z1mJDcc+oW8FpYOh^Sh|=UTeJ88gI46ORe!vYrN7LZ?wh>t?@o~wgW-IoZ*o>PPG>%$jdlOPx&lP!B@ zRz~J^(z1(kd0fp+7f&wAh0UXyn#N@pjlt=^PAq~pb|}0TO{vSYwhqhN7mvW{n=Vm! z5#H>psc*bQ`dZIoSB(gtIJi$bFi4&lI!G4uYCX+(GwKBt2U46rtiGrg3Qs@(3K{&1 zGB~l9<&}H6vg1YHn<=U%+1pZAhp~_?Gize@q{-J!nOap{<8--0eew&Y6;7Waa^%-9 zYh+tWwn~y%{?78cc_@JW$|?-rbzN<`q};K|cfs!RfDE!jr6zKwrd)abzx9{vVL@$k zL)F)ght4e&$FJd?s|6R;EiL#-=1=fu@Vdrw?x%3zqx@Q-vc z00)bJB~^nP$(;0ZVqg!HtKn;z903!_{_tb>sT%7iUghz*BEG%k@| zA=UhEXsdk7A_?Oj_Fw44GL`;MV)TPDsL&gh>eU@IP&_*34{HNHVaMe4S{{L8oZ9)I zxDG4G6W49``S}|D&%cP<>+gS&uj-tkNBMe{eX&S>?BI_%`4DS~??GH||J2f&2htms zKm5EOuf^*;*{}zsYo;%~Ypv|JYny7lUo%`97^^M3#8~h<-=P0%@iyM={3h`m8=7%` z=ll-yYlaOdpZtV97(~YXK{Vt{5M8l7PluM@mg#83sYD%JrHh$p)b3rH^c;QS?qrF^ zZdJdKDDk;zPv;4EtuAu>%dSl;Ka?|_^d~>iPWd@F^REkjn)x83NgJ>J{cl90pYn@` zcBNy=OLYC=p?Bvj&I7t>?F$Kp?{gIv{Cw$0zk942X!_f4B|UvrtDk7r>dvKE-p9I# zihsH=_NK^NF^MjHeecz;9QgP@3ID#}wp*(5Vpcv#^M2g$<7c}@{&+v#_R355Tzg6z zmP3T}@^e@FO;eYi-ZEq*J=f8GPjvgog%2uMt$4w-an#RTe^i=R4f}b|4->K;P+sl4 zqjU2eKlX|DO0>?YA`*rw#*VR51IQHgmw!HCv zYr(F-`#(FdWcbReSH23o_x;8N`IDdc@ecxr|MquXK%W`#h)nv3CM5ez0}R?tQcW za!25WXO=vgHTmHuW(D@$yZOY%&7<#%2=p8uQ}o@ZwpRT(@atXgo1B}6kNPO^+z&=S zSl0aRzkL#T>L0%+|8t+G{vz_df<6d7$~#r#Bs0ZV!>mLtm|a^5hD7F)A?q%PUuH-fi5FarW5hpDy^r zn&$6rIlJz&X_I#KxnBS7+4N7}JALor-~J=%t5^TA=7+!7b<_HXzH0s?J967qDUZGX z)m6ve&plq0S+cwTxxa6ZUy^WQ-Any<9jp9#;yri9zt~S7jQT^^4Wp+2`OE+M>wB$* zvo~yehWoYJrmE)Vi%-RZdJ}9V!TWEo-%8+H34AMoZzb@p1iqEP|34&P5F=C4G!)08 z<88pBb^IXkxDY(i2oFqBF(joN9d7~7*Dv%hGsZ4wA!@!jx*saHT5dQTND;&I3 z$2@0h*YOVE&XBa5Bu?pu|2Byy*nt02$F~DNDsejV_PE5E*r%rFB)%>Vc&|?X5b!HH zJ_7ufj*kNW#e^R`eWT&`Lml%N{bL=^=Zys&-w7P0<2k_B>KNlF4fbAj*|4}9%aEuJP&12H61&ElO?`=AFxg0 zJ1oGu9PU7Q)mhU2&RpO*I$i^OmyWxE-8w!E+#vB?alp%T44%~v9q$5OEAf2PyShck z2Y`R1<9^`(lGsrQtm}yb^`-t&`d8V3f34&7!25K(9r%EbIo~&Qybt)Wj+xI7C9d89 z{0|-P2kw`+#*B%%QDWDFz#~F%ypB=!uv8sG2f`*v%&X&JH%hz&br&{W$0%diY#kp2 z*7a)1QD9x3OP2!c@>~k}gz54WSeIw(O8D#YY<(Meous+q5b(VcuSETZ-LGTj{~;Y8 z0oLWY5;__73+exT$TRF&9X|}bSI5lf^AfKs1Aax~4XMCyhu~v6=Cb$cxES~g9k0Qn znlK)CXTUb#VY)x$Z_xE~!xO*>(tjfX>#`L%o3|5*97XWYk+>T5Wtc8;Svv475^q4h zhT9~*mg74lZr=y|9f^xkcZN=hU5@~7k+}R(;Qx@AWny?l$Bn>0mzd>jctYaRhk$oU zTxJ1&USh5z!z&Um!SaUT4c=De=h=b(D*cmSLk!2IzZwVpPw9UbcCig#N&lhSv8og$ z{nx$-e5J&<+z)(>#7m%8;YqxGil?@Z0cYzpQ5WGiO02N|Od0=ssK;>e+H3p=QOG2` zQu?#42zSW%!#jXI(x2OYxGp!=&+ui^zv?mIc8NFa0A3^U_n|Z4_ei{84DdFID;@xT zP-1Ss;Xl>=nYYI!UX}{nBQdv&@E0V$6ZIAT2Z=W_%|jA%I}JZ7@%JI;@Q);BTM>Rr z;#Sm4c)u>s2l0YLqx4_A9@ru=w=d%;iCw3F6C`GxH%^ea8FDb{ddPjTQP)GZW5#K^ z{Eq|QEaTs~2Dn1v^#_6Pl01xX0y}knn1=>E{%PPP(%%fFH?GlX_5p8}{?<6)?Gi^l z4E(T6J8wDge@k4&be`7fGjIE)|7|z{V0=~L4bKDrQO3FQ5b%f6zh(~bNu56G)OcF@ z-&qVC&}qUy!lYyH5HU>hc|#-cRWd%?z=*LDSD-J8NRimp4Lnie4d`bh3MA%!C!$nh zw#gBdl77rSU^p&1=>BN$5gR0KdklE1&Sw|!4(ZSRV8l*| zOHtm4XC$7D6Aux(tXdWUzb4ZT?*!Imbp_f*#8K(5ybY}DTk$sF&vZI_amc|W@%JGg zldfa87Xn+Q{~arV<0US86IjV~&=ZqO;s+rj zQ=N>%(lWJ3f2=){sZFn=X5dv4k8A~ArxyC zOfN}X#r)`c#bXK6+d9pIz=vg=xzHceF^N|?fKN!QL2jlqGXC(jSQ`(M*lGoi9E>w0 zR^q$j;ji1hd7v{SNyZ-vIzy)DbP9kAW&Cx}r6IE=-oXBIB<6m3$n6sIIA@4k;&{}> zkUEK5QI;W15?77^{x^xg3z-bj?OxSGz-y%c$`63=k+|tF@DC)O-w*tNUM>yz$I`#$ zB=AnXUX}v?Qcqh3{40qQQNKg>NW7*4Sht639tD0``row+_@Jau*}#9ysH?5czMB^uI4HMs;lroCj0R5 z2EKZi%7`@!?-utp3vggz0jMI3PcsP6)Ley!Cl@p?Nw?7g54L+`)D|BeUHt#bI=3FV zZ5Rsc7X?VRC^nBl+W-YR`_eW*p9qgHyMx%4*O%Qmzdqj~<=JWbkXU2Ult>*?0d%OW z`hX%vfAy66#wgf~UwyT#WitFPxrUZC2LDe-J>@0Y_dK>w6~($fE!Vn3J!Vr?qv z&8cvfaw^;w8bLD3>7X0s^g3VG_66zA8AhloOro5eGen2egK{bl3cSTi$?2f|Fc36y zUi2!=RtJ0^s7TR(rb8nbJ~Vb1;(Z^lg2clBlP%Rt%S&31eLh$H!Vl)78RQO#dS6hi z2#4U}Al^GcCMRdYU{!g#O?(n$5}!v8!%1Frwg_JqS_H4+5E{FW#<_-`kMMGyWzG3} zJ7;~{=S6dD>lZmU4*9}e9OmWp%%3=o<5^DG+=#~O<+ZLzbi%QJ?q>w(QEfaguy&&0 zyNK1tLa9L2iD3*J*GXX3Qb!nTMUolbbyor(PF1U3Uc+`jg-BMx{{VvoxsHJi_M1+r zJvIVmw&pA5Z+(tBX%dE|jWbO>#)=``Mf5u=CHG1xy9Nz!GMZ>SJQ|zre0endfml9M zto$VW(^k3(@Ff!h6yLUNV>ju;YR%7lQ7vT%U)p59o&NfhLU2rJNn_~gLlG?sfOiFz zn~9H{baq4%8t1Gz9O2;tfFcB^J%z`SdxopVjOI4Hi)pI;wt{vI3KEoPtYb_{u>HaV zv&}7zP(yrQObf;}3GhBn_`sFHOtWJ#woFn1q-50;046?=-fNizd|NxF^m$ zv6g_+7t+yF0hnt!llzZQld@HMC);o(qHh9{Rtm^Q2$Opc5zL)mYhhM+f zYChrfX7`=IN@h3SJPr|LL&Pn<f4cH@==yx#bZ>oM#uj8T{}d(Ydx82d82{x$Tp9pJk|{GuRZ7mi3( zR!!Z{_xJbj&F>%pro~TSZB(+xGe8`kE;EZAi^LMzu8Cr(T?G=pSR^Oeu?_5ecZ@AG z#dZ)mV`}S51saA*v#G@>0YAl`@ymBF`jqC;(DmCws`AYbP544->2;>KgGl0X2KtI@ Ull3nh?F)M6f3p;LT@GB*4_o~P0RR91 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 - -#ifdef __STDC__ - -#ifndef DONT_HAVE_STDLIB_H -#include -#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 -#endif - -#include - -/* 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 - -/* - * 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 -#ifndef BSD42 -#include -#else BSD42 -#include -#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 - -/* - * 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; - } -"-"?ut ZONE(0 * 60); -"-"?gmt ZONE(0 * 60); -"-"?jst ZONE(2 * 60); -"-"?jdt ZONED(2 * 60); -"-"?est ZONE(-5 * 60); -"-"?edt ZONED(-5 * 60); -"-"?cst ZONE(-6 * 60); -"-"?cdt ZONED(-6 * 60); -"-"?mst ZONE(-7 * 60); -"-"?mdt ZONED(-7 * 60); -"-"?pst ZONE(-8 * 60); -"-"?pdt ZONED(-8 * 60); -"-"?nst ZONE(-(3 * 60 + 30)); -"-"?ast ZONE(-4 * 60); -"-"?adt ZONED(-4 * 60); -"-"?yst ZONE(-9 * 60); -"-"?ydt ZONED(-9 * 60); -"-"?hst ZONE(-10 * 60); -"-"?hdt ZONED(-10 * 60); -"-"?bst ZONED(-1 * 60); -[a-i] { - tw.tw_zone = 60 * (('a'-1) - LC(*cp)); - EXPZONE; - } -[k-m] { - tw.tw_zone = 60 * ('a' - LC(*cp)); - EXPZONE; - } -[n-y] { - tw.tw_zone = 60 * (LC(*cp) - 'm'); - EXPZONE; - } -"+"[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; - } -"-"[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} ; - -<> 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 -#ifndef BSD42 -#include -#else BSD42 -#include -#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 @@ - -@ls -l $@ - -@echo "" - --popd: xpopd -+popd: xpopd; - - xpopd: popd.o popser.o syslog.o \ - ../../uip/dropsbr.o \ -@@ -146,7 +146,7 @@ - -@ls -l $@ - -@echo "" - --popaka: xpopaka -+popaka: xpopaka; - - xpopaka: popaka.o $(LIBES1) - $(LD) $(LDFLAGS) -o $@ popaka.o $(LDLIBS1) -@@ -169,7 +169,7 @@ - -@ls -l $@ - -@echo "" - --popauth: xpopauth -+popauth: xpopauth; - - xpopauth: popauth.o $(LIBES1) - $(LD) $(LDFLAGS) -o $@ popauth.o $(LDLIBS2) -@@ -193,7 +193,7 @@ - -@ls -l $@ - -@echo "" - --popwrd: xpopwrd -+popwrd: xpopwrd; - - xpopwrd: popwrd.o $(LIBES1) - $(LD) $(LDFLAGS) -o $@ popwrd.o $(LDLIBS1) -@@ -214,7 +214,7 @@ - -@ls -l $@ - -@echo "" - --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 @@ - -@ls -l $@ - -@echo "" - --ali: xali -+ali: xali; - - xali: ali.o aliasbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ ali.o aliasbr.o $(LDLIBS) -@@ -284,7 +284,7 @@ - -@ls -l $@ - -@echo "" - --anno: xanno -+anno: xanno; - - xanno: anno.o annosbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ anno.o annosbr.o $(LDLIBS) -@@ -301,7 +301,7 @@ - -@ls -l $@ - -@echo "" - --ap: xap -+ap: xap; - - xap: ap.o trmsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ ap.o trmsbr.o $(LDLIBS) $(LDCURSES) -@@ -325,7 +325,7 @@ - -@ls -l $(BINDIR)/bbc - -@echo "" - --bbc: xbbc -+bbc: xbbc; - - xbbc: bbc.o $(PSHLIB) $(LIBES) - $(LD) $(LDFLAGS) -o $@ bbc.o $(PSHLIB) $(LDLIBS) -@@ -352,7 +352,7 @@ - -@ls -l $@ - -@echo "" - --bbl: xbbl -+bbl: xbbl; - - xbbl: bbl.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ bbl.o $(LDLIBS) -@@ -369,7 +369,7 @@ - -@ls -l $@ - -@echo "" - --burst: xburst -+burst: xburst; - - xburst: burst.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ burst.o $(LDLIBS) -@@ -386,7 +386,7 @@ - -@ls -l $@ - -@echo "" - --cipher: xcipher -+cipher: xcipher; - - xcipher: cipher.o $(TMALIB) $(LIBES) - $(LD) $(LDFLAGS) -o $@ cipher.o $(TMALIB) $(LDLIBS) -@@ -403,7 +403,7 @@ - -@ls -l $(BINDIR)/comp - -@echo "" - --comp: xcomp -+comp: xcomp; - - xcomp: comp.o whatnowproc.o \ - whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES) -@@ -423,7 +423,7 @@ - -@ls -l $@ - -@echo "" - --conflict: xconflict -+conflict: xconflict; - - xconflict: conflict.o aliasbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ conflict.o aliasbr.o $(LDLIBS) -@@ -440,7 +440,7 @@ - -@ls -l $@ - -@echo "" - --decipher: xdecipher -+decipher: xdecipher; - - xdecipher: decipher.o $(TMALIB) $(LIBES) - $(LD) $(LDFLAGS) -o $@ decipher.o $(TMALIB) $(LDLIBS) -@@ -457,7 +457,7 @@ - -@ls -l $@ - -@echo "" - --dist: xdist -+dist: xdist; - - xdist: dist.o whatnowproc.o \ - whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES) -@@ -477,7 +477,7 @@ - -@ls -l $(ETCDIR)/dp - -@echo "" - --dp: xdp -+dp: xdp; - - xdp: dp.o trmsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ dp.o trmsbr.o $(LDLIBS) $(LDCURSES) -@@ -494,7 +494,7 @@ - -@ls -l $@ - -@echo "" - --fmtdump: xfmtdump -+fmtdump: xfmtdump; - - xfmtdump: fmtdump.o trmsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ fmtdump.o $(LDLIBS) -@@ -514,8 +514,8 @@ - -@ls -l $@ - -@echo "" - --folders: folder --folder: xfolder -+folders: folder; -+folder: xfolder; - - xfolder: folder.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ folder.o $(LDLIBS) -@@ -532,7 +532,7 @@ - -@ls -l $@ - -@echo "" - --forw: xforw -+forw: xforw; - - xforw: forw.o whatnowproc.o \ - whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES) -@@ -563,7 +563,7 @@ - -@ls -l $@ - -@echo "" - --inc: xinc -+inc: xinc; - - xinc: inc.o scansbr.o dropsbr.o trmsbr.o \ - $(POPLIB) $(TMALIB) $(LIBES) -@@ -584,7 +584,7 @@ - -@ls -l $@ - -@echo "" - --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 @@ - -@ls -l $@ - -@echo "" - --kdsc: xkdsc -+kdsc: xkdsc; - - xkdsc: kdsc.o $(KDSLIB) $(LIBES) - $(LD) $(LDFLAGS) -o $@ kdsc.o $(KDSLIB) $(LDLIBS) -@@ -618,7 +618,7 @@ - -@ls -l $@ - -@echo "" - --mark: xmark -+mark: xmark; - - xmark: mark.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ mark.o $(LDLIBS) -@@ -635,7 +635,7 @@ - -@ls -l $@ - -@echo "" - --mhl: xmhl -+mhl: xmhl; - - xmhl: mhl.o \ - mhlsbr.o trmsbr.o $(LIBES) -@@ -655,7 +655,7 @@ - -@ls -l $@ - -@echo "" - --mhmail: xmhmail -+mhmail: xmhmail; - - xmhmail: mhmail.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ mhmail.o $(LDLIBS) -@@ -672,7 +672,7 @@ - -@ls -l $@ - -@echo "" - --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 @@ - -@ls -l $@ - -@echo "" - --mhparam: xmhparam -+mhparam: xmhparam; - - xmhparam: mhparam.o trmsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ mhparam.o $(LDLIBS) $(LDCURSES) -@@ -707,7 +707,7 @@ - -@ls -l $@ - -@echo "" - --mhpath: xmhpath -+mhpath: xmhpath; - - xmhpath: mhpath.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ mhpath.o $(LDLIBS) -@@ -731,7 +731,7 @@ - -@ls -l $@ - -@echo "" - --msgchk: xmsgchk -+msgchk: xmsgchk; - - xmsgchk: msgchk.o $(POPLIB) $(LIBES) - $(LD) $(LDFLAGS) -o $@ msgchk.o $(POPLIB) \ -@@ -749,7 +749,7 @@ - -@ls -l $@ - -@echo "" - --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 @@ - -@ls -l $@ - -@echo "" - --packf: xpackf -+packf: xpackf; - - xpackf: packf.o dropsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ packf.o dropsbr.o $(LDLIBS) -@@ -789,7 +789,7 @@ - -@ls -l $@ - -@echo "" - --pick: xpick -+pick: xpick; - - xpick: pick.o picksbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ pick.o picksbr.o $(LDLIBS) -@@ -806,7 +806,7 @@ - -@ls -l $@ - -@echo "" - --popi: xpopi -+popi: xpopi; - - xpopi: popi.o $(POPLIB) trmsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ popi.o $(POPLIB) trmsbr.o $(LDLIBS) \ -@@ -831,7 +831,7 @@ - -@ls -l $@ - -@echo "" - --post: xpost -+post: xpost; - - xpost: post.o \ - aliasbr.o $(MTSBRS) $(TMALIB) $(LIBES) -@@ -851,7 +851,7 @@ - -@ls -l $@ - -@echo "" - --prompter: xprompter -+prompter: xprompter; - - xprompter: prompter.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ prompter.o $(LDLIBS) -@@ -868,7 +868,7 @@ - -@ls -l $@ - -@echo "" - --rcvdist: xrcvdist -+rcvdist: xrcvdist; - - xrcvdist: rcvdist.o distsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ rcvdist.o distsbr.o $(LDLIBS) -@@ -885,7 +885,7 @@ - -@ls -l $@ - -@echo "" - --rcvpack: xrcvpack -+rcvpack: xrcvpack; - - xrcvpack: rcvpack.o dropsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ rcvpack.o dropsbr.o $(LDLIBS) -@@ -902,7 +902,7 @@ - -@ls -l $@ - -@echo "" - --rcvstore: xrcvstore -+rcvstore: xrcvstore; - - xrcvstore: rcvstore.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ rcvstore.o $(LDLIBS) -@@ -923,7 +923,7 @@ - -@ls -l $@ - -@echo "" - --rcvtty: xrcvtty -+rcvtty: xrcvtty; - - xrcvtty: rcvtty.o scansbr.o trmsbr.o \ - @BEGIN: TTYD -@@ -952,7 +952,7 @@ - -@ls -l $@ - -@echo "" - --refile: xrefile -+refile: xrefile; - - xrefile: refile.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ refile.o $(LDLIBS) -@@ -969,7 +969,7 @@ - -@ls -l $@ - -@echo "" - --repl: xrepl -+repl: xrepl; - - xrepl: repl.o replsbr.o whatnowproc.o \ - whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES) -@@ -992,7 +992,7 @@ - -@ls -l $@ - -@echo "" - --rmail: xrmail -+rmail: xrmail; - - xrmail: rmail.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ rmail.o $(LDLIBS) -@@ -1009,7 +1009,7 @@ - -@ls -l $@ - -@echo "" - --rmf: xrmf -+rmf: xrmf; - - xrmf: rmf.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ rmf.o $(LDLIBS) -@@ -1026,7 +1026,7 @@ - -@ls -l $@ - -@echo "" - --rmm: xrmm -+rmm: xrmm; - - xrmm: rmm.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ rmm.o $(LDLIBS) -@@ -1043,7 +1043,7 @@ - -@ls -l $@ - -@echo "" - --scan: xscan -+scan: xscan; - - xscan: scan.o \ - scansbr.o trmsbr.o $(LIBES) -@@ -1063,7 +1063,7 @@ - -@ls -l $@ - -@echo "" - --send: xsend -+send: xsend; - - xsend: send.o \ - sendsbr.o annosbr.o distsbr.o $(LIBES) -@@ -1089,9 +1089,9 @@ - -@ls -l $@ - -@echo "" - --next: show --prev: show --show: xshow -+next: show; -+prev: show; -+show: xshow; - - xshow: show.o \ - mhlsbr.o trmsbr.o $(LIBES) -@@ -1118,7 +1118,7 @@ - -@ls -l $@ - -@echo "" - --sbboards: xsbboards -+sbboards: xsbboards; - - xsbboards: sbboards.o dropsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ sbboards.o dropsbr.o $(LDLIBS) -@@ -1135,7 +1135,7 @@ - -@ls -l $@ - -@echo "" - --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 @@ - -@ls -l $@ - -@echo "" - --sortm: xsortm -+sortm: xsortm; - - xsortm: sortm.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ sortm.o $(LDLIBS) -@@ -1172,7 +1172,7 @@ - -@ls -l $@ - -@echo "" - --spop: xspop -+spop: xspop; - - xspop: spop.o dropsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ spop.o dropsbr.o $(LDLIBS) -@@ -1193,7 +1193,7 @@ - -@ls -l $@ - -@echo "" - --spost: xspost -+spost: xspost; - - xspost: spost.o aliasbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ spost.o aliasbr.o $(LDLIBS) -@@ -1213,7 +1213,7 @@ - -@echo "Don't forget to: ln -s /usr/lib/sendmail $@" - -@echo "" - --sendmail: xsendmail -+sendmail: xsendmail; - - xsendmail: sendmail.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ sendmail.o $(LDLIBS) -@@ -1230,7 +1230,7 @@ - -@ls -l $@ - -@echo "" - --tma: xtma -+tma: xtma; - - xtma: tma.o $(TMALIB) $(LIBES) - $(LD) $(LDFLAGS) -o $@ tma.o $(TMALIB) $(LDLIBS) -@@ -1247,7 +1247,7 @@ - -@ls -l $@ - -@echo "" - --umhook: xumhook -+umhook: xumhook; - - xumhook: umhook.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ umhook.o $(LDLIBS) $(LDCURSES) -@@ -1264,7 +1264,7 @@ - -@ls -l $@ - -@echo "" - --vmh: xvmh -+vmh: xvmh; - - xvmh: vmh.o vmhsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ vmh.o vmhsbr.o $(LDCURSES) $(LDLIBS) -@@ -1285,7 +1285,7 @@ - -@ls -l $@ - -@echo "" - --whatnow: xwhatnow -+whatnow: xwhatnow; - - xwhatnow: whatnow.o \ - whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES) -@@ -1305,7 +1305,7 @@ - -@ls -l $@ - -@echo "" - --whom: xwhom -+whom: xwhom; - - xwhom: whom.o distsbr.o $(LIBES) - $(LD) $(LDFLAGS) -o $@ whom.o distsbr.o $(LDLIBS) -@@ -1322,7 +1322,7 @@ - -@ls -l $@ - -@echo "" - --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 - #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 bsa@kf8nh.wariat.org 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 - #endif -- -+#ifdef linux -+/* FIXME - who should be doing this? With what option? */ -+#include -+#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 - #endif -+#ifdef linux -+/* FIXME - who should be doing this? With what option? */ -+#include -+#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 - #include - #ifdef SVR4 -+#ifndef linux - #define LOCKF -+#endif - #include - #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 -bsa@kf8nh.wariat.org -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 -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 -#include -#if !defined(SYS5) && !defined(ZONEINFO) -#include -#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 -#include -#else -#ifndef BSD42 -#include -#else /* BSD42 */ -#include -#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 4052be6f53e5100449a9de2e9b18430662630e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22812 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

Zjk}QPJDZD0JCB^Cp&<9%|4B!Uon45^E(oW%Q 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 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 -bsa@kf8nh.wariat.org 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: Bug-MH@ICS.UCI.EDU -Maintained-by: bsa@kf8nh.wariat.org 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 somewhere!bsdi-users-request@bsdi.com 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: <199302280705.AA26812@misc.glarp.com> -To: sgd@tfm.tfm.com (Stephen Diercouff) -Cc: bsdi-users@bsdi.com -Subject: Re: BSDI MH patches -In-Reply-To: -Mime-Version: 1.0 -Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" -Date: Sun, 28 Feb 1993 00:05:40 -0700 -From: Brad Huntting -Errors-To: bsdi-users-request@bsdi.com -Sender: bsdi-users-request@bsdi.com -Precedence: bulk -X-Loop: bsdi-users@bsdi.com -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 */ - -! #if !defined(SYS5) && !defined(ncr) && !defined(_AIX) && !defined(OSF1) && !defined(__convex__) - typedef struct _iobuf *FP; - FP popen (); - #else /* SYS5 */ ---- 332,338 ---- - - /* should be in */ - -! #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 - #else - #include ---- 25,31 ---- - #endif /* SYS5 */ - - #if defined(BSD42) || defined(SVR4) -! #if !defined(SVR4) && !defined(__386BSD__) && !defined(__bsdi__) - #include - #else - #include -*************** -*** 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 - #ifndef SYS5 - #include -! #else /* SYS5 */ - #include - #include - #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 -+ #ifdef POSIX -+ #include -+ #else - #ifndef SYS5 - #include -! #else - #include - #include - #ifndef NOIOCTLH -*************** -*** 14,33 **** - #include - #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 - #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 -+ #include -+ #include -+ #include -+ #include -+ #include -+ -+ 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 -+ /* 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 - #include - -+ #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 -+ #include -+ #if !defined(SYS5) && !defined(ZONEINFO) -+ #include -+ #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 -+ #else BSD42 -+ #include -+ #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 - #include -! #ifndef SYS5 - #include -! #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 - #include -! #if !defined(SYS5) && !defined(ZONEINFO) - #include -! #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-- - - - -- 1.7.10.4