From ea7b16ea79c5f06a3b220a0f02fe55ae566b9e82 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Fri, 21 Jul 2000 02:11:59 +0000 Subject: [PATCH 01/16] Meaningless modification to test autoconf file commit order stuff. --- configure | 49 ++++++++++++++++++++++++------------------------- configure.in | 2 +- stamp-h.in | 2 +- 3 files changed, 26 insertions(+), 27 deletions(-) diff --git a/configure b/configure index 6715aac6..64d0324f 100755 --- a/configure +++ b/configure @@ -4172,7 +4172,6 @@ if test $nmh_cv_decl_ospeed_include_defines = yes; then cat >> confdefs.h <<\EOF #define HAVE_OSPEED 1 EOF - elif test $nmh_cv_decl_ospeed_must_define = yes; then cat >> confdefs.h <<\EOF #define HAVE_OSPEED 1 @@ -4188,12 +4187,12 @@ fi LIBS="$nmh_save_LIBS" echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:4192: checking return type of signal handlers" >&5 +echo "configure:4191: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4210,7 +4209,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:4214: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4213: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -4229,12 +4228,12 @@ EOF echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:4233: checking for pid_t" >&5 +echo "configure:4232: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4262,12 +4261,12 @@ EOF fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:4266: checking for off_t" >&5 +echo "configure:4265: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4295,12 +4294,12 @@ EOF fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:4299: checking for uid_t in sys/types.h" >&5 +echo "configure:4298: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF @@ -4329,12 +4328,12 @@ EOF fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:4333: checking for mode_t" >&5 +echo "configure:4332: checking for mode_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4362,12 +4361,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:4366: checking for size_t" >&5 +echo "configure:4365: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4396,12 +4395,12 @@ fi echo $ac_n "checking for sigset_t""... $ac_c" 1>&6 -echo "configure:4400: checking for sigset_t" >&5 +echo "configure:4399: checking for sigset_t" >&5 if eval "test \"`echo '$''{'nmh_cv_type_sigset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4409,7 +4408,7 @@ int main() { sigset_t tempsigset; ; return 0; } EOF -if { (eval echo configure:4413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4412: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* nmh_cv_type_sigset_t=yes else @@ -4430,12 +4429,12 @@ EOF fi echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6 -echo "configure:4434: checking for st_blksize in struct stat" >&5 +echo "configure:4433: checking for st_blksize in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4443,7 +4442,7 @@ int main() { struct stat s; s.st_blksize; ; return 0; } EOF -if { (eval echo configure:4447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4446: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_blksize=yes else @@ -4465,12 +4464,12 @@ fi echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6 -echo "configure:4469: checking for tm_gmtoff in struct tm" >&5 +echo "configure:4468: checking for tm_gmtoff in struct tm" >&5 if eval "test \"`echo '$''{'nmh_cv_struct_tm_gmtoff'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -4486,7 +4485,7 @@ int main() { struct tm temptm; temptm.tm_gmtoff = 0; ; return 0; } EOF -if { (eval echo configure:4490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* nmh_cv_struct_tm_gmtoff=yes else @@ -4507,7 +4506,7 @@ EOF fi echo $ac_n "checking what style of signals to use""... $ac_c" 1>&6 -echo "configure:4511: checking what style of signals to use" >&5 +echo "configure:4510: checking what style of signals to use" >&5 if test $ac_cv_func_sigaction = yes -a $ac_cv_func_sigprocmask = yes; then signals_style=POSIX_SIGNALS cat >> confdefs.h <<\EOF @@ -4545,7 +4544,7 @@ fi echo "$ac_t""$signals_style" 1>&6 echo $ac_n "checking where signal.h is located""... $ac_c" 1>&6 -echo "configure:4549: checking where signal.h is located" >&5 +echo "configure:4548: checking where signal.h is located" >&5 if eval "test \"`echo '$''{'nmh_cv_path_signal_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else diff --git a/configure.in b/configure.in index 53105afe..196fdc98 100644 --- a/configure.in +++ b/configure.in @@ -620,7 +620,7 @@ if test $nmh_cv_decl_ospeed_include_defines = no; then fi if test $nmh_cv_decl_ospeed_include_defines = yes; then - AC_DEFINE(HAVE_OSPEED) + AC_DEFINE(HAVE_OSPEED)dnl elif test $nmh_cv_decl_ospeed_must_define = yes; then AC_DEFINE(HAVE_OSPEED) AC_DEFINE(MUST_DEFINE_OSPEED) diff --git a/stamp-h.in b/stamp-h.in index 287375a4..f94fc6df 100644 --- a/stamp-h.in +++ b/stamp-h.in @@ -1 +1 @@ -Thursday, July 20, 06:58:56 PM (18:58:56 military) +Thursday, July 20, 07:12:35 PM (19:12:35 military) -- 2.48.1 From 7a39c12041b050791790cfbe33686377a98ff59e Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Fri, 21 Jul 2000 02:25:59 +0000 Subject: [PATCH 02/16] Last pass at README.developers -- Kimmo's 5-step commit was overkill. You only need 3 steps, since configure.in is the only autoconf file with the RCS $Id keyword. --- ChangeLog | 6 +++++- docs/README.developers | 27 +++++++++++++-------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9850614e..2e741c7c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Mon Jul 17 13:53:26 2000 Dan Harkless +Thu Jul 20 19:24:17 2000 Dan Harkless * Moved Kimmo's new "--with-hash-backup" to be output with the rest of the --with options in the configure --help output. Also, @@ -15,6 +15,10 @@ Mon Jul 17 13:53:26 2000 Dan Harkless it compiles, but according to Ken, the SASL stuff still does not work. Integrating a patch from him for this. + * Last pass at README.developers -- Kimmo's 5-step commit was + overkill. You only need 3 steps, since configure.in is the only + autoconf file with the RCS $Id keyword. + Tue Jul 18 19:36:59 EDT 2000 Kimmo Suominen * Added the answer to Dan's question in README.developers. diff --git a/docs/README.developers b/docs/README.developers index 522244a1..9edd701e 100644 --- a/docs/README.developers +++ b/docs/README.developers @@ -44,20 +44,19 @@ around with `touch'. The correct procedure to commit the configure-related files is: % cvs commit acconfig.h aclocal.m4 configure.in - % autoconf && autoheader # or simply "make" - % cvs commit config.h.in configure - % make stamp-h.in # or simply "make" - % cvs commit stamp-h.in - -The reason that the commits need to be split up is that the timestamps on the -files change when the commits are done and the RCS Ids change. If one committed -all the files in one fell swoop (in the above relative order), timestamps would -cause unnecessary autoconf regeneration on 'make's after the commit, which would -waste your time and would cause your local stamp-h.in to be out-of-sync with the -one checked into CVS (not the end of the world, but...). - -If you haven't changed all the files noted above, just commit the ones you have, -in the stated order (for instance, configure.in, then configure, then + % autoheader; autoconf; date > stamp-h.in + % cvs commit config.h.in configure stamp-h.in + +The reason for the three-step commit is that configure.in contains the RCS $Id +keyword, so when you commit it, a new version is written locally. Therefore, +the autoconf regeneration should be held off until after the commit, or your +local stamp-h.in will become out-of-sync with the CVS version (granted, not that +big a deal). For the second step, you're doing the same commands as a +`make reset' would do, but using that command would require extra configure runs +to make Makefile be up-to-date. + +If you haven't changed all the files noted above, just commit the ones you have +changed, in the stated order (for instance, configure.in, then configure and stamp-h.in). -- 2.48.1 From 7d5df1b80b43bfe60de33b0b62c992eea1d8d531 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Fri, 21 Jul 2000 02:35:43 +0000 Subject: [PATCH 03/16] Applied Kurt J. Lidl 's $MAILHOST patch: I have a small patch that would be nice to be included -- basically, it allows the usage of the "MAILHOST" environment variable, without having to have HESIOD turned on. I need this functionality for my environment, where we have identical /usr/local on all my machines (so I cannot just hardcode into the mts.conf file), and I have multiple POP mail servers for my users. Modified inc.man to reflect that along with "pophost:" and -host, $MAILHOST can now activate POP mail inclusion as well. --- ChangeLog | 15 ++++++++++++++- man/inc.man | 11 ++++++----- uip/inc.c | 8 ++++---- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2e741c7c..971101e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Thu Jul 20 19:24:17 2000 Dan Harkless +Thu Jul 20 19:30:23 2000 Dan Harkless * Moved Kimmo's new "--with-hash-backup" to be output with the rest of the --with options in the configure --help output. Also, @@ -19,6 +19,19 @@ Thu Jul 20 19:24:17 2000 Dan Harkless overkill. You only need 3 steps, since configure.in is the only autoconf file with the RCS $Id keyword. + * Applied Kurt J. Lidl 's $MAILHOST patch: + + I have a small patch that would be nice to be included -- + basically, it allows the usage of the "MAILHOST" environment + variable, without having to have HESIOD turned on. I need + this functionality for my environment, where we have identical + /usr/local on all my machines (so I cannot just hardcode into + the mts.conf file), and I have multiple POP mail servers for + my users. + + Modified inc.man to reflect that along with "pophost:" and -host, + $MAILHOST can now activate POP mail inclusion as well. + Tue Jul 18 19:36:59 EDT 2000 Kimmo Suominen * Added the answer to Dan's question in README.developers. diff --git a/man/inc.man b/man/inc.man index fc53359d..4a06a7f6 100644 --- a/man/inc.man +++ b/man/inc.man @@ -116,11 +116,12 @@ and going on to other things. %nmhbeginpop% .Uh "Using POP" -\fIinc\fR will normally check local mail drops for mail, as given -above. But if the option \*(lqpophost:\*(rq is set in the mts -configuration file \*(lqmts.conf\*(rq, or if the `\-host\ hostname' -switch is given, then \fIinc\fR will query this POP service host -for mail to incorporate. +\fIinc\fR will normally check local mail drops for mail, as covered above. But +if the option \*(lqpophost:\*(rq is set in \*(lqmts.conf\*(rq, or if the +`\-host\ hostname' switch is given, or if the \fB$MAILHOST\fR environment +variable is set, then \fIinc\fR will query this POP service host for mail to +incorporate. If \fB$MAILHOST\fR is set and \-host is specified as well, the +commandline switch will override the environment variable. The default is for \fIinc\fR to assume that your account name on the POP server is the same as your current username. To specify diff --git a/uip/inc.c b/uip/inc.c index 9c8049ab..e6adb32f 100644 --- a/uip/inc.c +++ b/uip/inc.c @@ -245,6 +245,7 @@ main (int argc, char **argv) #ifdef POP int nmsgs, nbytes, p = 0; char *pass = NULL; + char *MAILHOST_env_variable; #endif #ifdef MHE @@ -253,7 +254,6 @@ main (int argc, char **argv) #ifdef HESIOD struct hes_postoffice *po; - char *tmphost; #endif /* absolutely the first thing we do is save our privileges, @@ -275,7 +275,6 @@ main (int argc, char **argv) argp = arguments; #ifdef POP -# ifdef HESIOD /* * Scheme is: * use MAILHOST environment variable if present, @@ -283,8 +282,9 @@ main (int argc, char **argv) * If that fails, use the default (if any) * provided by mts.conf in mts_init() */ - if ((tmphost = getenv("MAILHOST")) != NULL) - pophost = tmphost; + if ((MAILHOST_env_variable = getenv("MAILHOST")) != NULL) + pophost = MAILHOST_env_variable; +# ifdef HESIOD else if ((po = hes_getmailhost(getusername())) != NULL && strcmp(po->po_type, "POP") == 0) pophost = po->po_host; -- 2.48.1 From f88898638f4f0f8f6d77b1235b704982d295b832 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Fri, 21 Jul 2000 03:31:39 +0000 Subject: [PATCH 04/16] Fixed warnings from diff on first-time install of nmh. Also added 'echo's clarifying the etc file installation activities. --- ChangeLog | 5 ++++- etc/Makefile.in | 19 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 971101e4..98ec5687 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Thu Jul 20 19:30:23 2000 Dan Harkless +Thu Jul 20 20:30:52 2000 Dan Harkless * Moved Kimmo's new "--with-hash-backup" to be output with the rest of the --with options in the configure --help output. Also, @@ -32,6 +32,9 @@ Thu Jul 20 19:30:23 2000 Dan Harkless Modified inc.man to reflect that along with "pophost:" and -host, $MAILHOST can now activate POP mail inclusion as well. + * Fixed warnings from diff on first-time install of nmh. Also + added 'echo's clarifying the etc file installation activities. + Tue Jul 18 19:36:59 EDT 2000 Kimmo Suominen * Added the answer to Dan's question in README.developers. diff --git a/etc/Makefile.in b/etc/Makefile.in index c2645cbe..1801d686 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -97,13 +97,22 @@ install-bin-files: install-etc-files: $(top_srcdir)/mkinstalldirs $(etcdir) for file in $(INSTALL_ETC_FILES); do \ - echo $$file; \ + echo "Installing $$file..."; \ if [ -f $(etcdir)/$$file ]; then \ mv $(etcdir)/$$file $(etcdir)/$$file.prev; \ - fi; \ - $(INSTALL_DATA) $(srcdir)/$$file $(etcdir)/$$file; \ - if diff $(etcdir)/$$file.prev $(etcdir)/$$file; then \ - rm $(etcdir)/$$file.prev; \ + $(INSTALL_DATA) $(srcdir)/$$file $(etcdir)/$$file; \ + if diff $(etcdir)/$$file.prev $(etcdir)/$$file; then \ + rm $(etcdir)/$$file.prev; \ + else \ + echo; \ + echo " Previous version of $$file saved as $$file.prev due\c";\ + echo " to diffs."; \ + echo " Please merge any local config changes into the new\c"; \ + echo " $$file."; \ + echo; \ + fi; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$file $(etcdir)/$$file; \ fi; \ done -- 2.48.1 From 11ce969d33d8d6ffafd010005af0b7188f0f5693 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Mon, 24 Jul 2000 23:03:38 +0000 Subject: [PATCH 05/16] When Shantonu wrote the new, more portable dtimep.lex, he left out the #ifdef DSTXXX stuff for some reason. Not a good idea, as that code is required for proper printing of numeric-offset timezones that have daylight saving time. Without that code, -0700 during DST gets printed as MST instead of PDT. --- ChangeLog | 8 ++++ sbr/dtimep.c | 114 ++++++++++++++++++++++++++++++++----------------- sbr/dtimep.lex | 34 +++++++++++++++ 3 files changed, 116 insertions(+), 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index 98ec5687..a7ab1c03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Mon Jul 24 15:52:55 2000 Dan Harkless + + * When Shantonu wrote the new, more portable dtimep.lex, he left + out the #ifdef DSTXXX stuff for some reason. Not a good idea, as + that code is required for proper printing of numeric-offset + timezones that have daylight saving time. Without that code, + -0700 during DST gets printed as MST instead of PDT. + Thu Jul 20 20:30:52 2000 Dan Harkless * Moved Kimmo's new "--with-hash-backup" to be output with the diff --git a/sbr/dtimep.c b/sbr/dtimep.c index b6a3fde4..159c901b 100644 --- a/sbr/dtimep.c +++ b/sbr/dtimep.c @@ -944,6 +944,34 @@ static int day_map[] = { --cp; } #define SKIPTOSP() { while ( !isspace(*cp++) ) ; \ --cp; } + +#ifdef DSTXXX +# ifdef TIME_WITH_SYS_TIME +# include +# include +# else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +# endif + +static void +zonehack (struct tws *tw) +{ + register struct tm *tm; + + if (dmktime (tw) == (time_t) -1) + return; + + tm = localtime (&tw->tw_clock); + if (tm->tm_isdst) { + tw->tw_flags |= TW_DST; + tw->tw_zone -= 60; + } +} +#endif /* DSTXXX */ /* The year can either be 2 digits, or 4. However, after Y2K, we found that some MUA were reporting the year 100, hence the middle term here. yyterminate() resolves the actual @@ -1099,7 +1127,7 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 198 "dtimep.lex" +#line 226 "dtimep.lex" /* This section begins the definition of dparsetime(). @@ -1199,7 +1227,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 213 "dtimep.lex" +#line 241 "dtimep.lex" { INIT(); SETWDAY(); @@ -1215,7 +1243,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 226 "dtimep.lex" +#line 254 "dtimep.lex" { INIT(); SETWDAY(); @@ -1231,7 +1259,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 238 "dtimep.lex" +#line 266 "dtimep.lex" { INIT(); SETDAY(); @@ -1245,7 +1273,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 248 "dtimep.lex" +#line 276 "dtimep.lex" { INIT(); SETWDAY(); @@ -1261,7 +1289,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 260 "dtimep.lex" +#line 288 "dtimep.lex" { INIT(); SETWDAY(); @@ -1275,7 +1303,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 270 "dtimep.lex" +#line 298 "dtimep.lex" { INIT(); SETMON(); @@ -1289,7 +1317,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 280 "dtimep.lex" +#line 308 "dtimep.lex" { INIT(); SETMON(); @@ -1301,7 +1329,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 288 "dtimep.lex" +#line 316 "dtimep.lex" { INIT(); if(europeandate) { @@ -1323,7 +1351,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 306 "dtimep.lex" +#line 334 "dtimep.lex" { INIT(); if(europeandate) { @@ -1343,135 +1371,141 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 323 "dtimep.lex" +#line 351 "dtimep.lex" YY_BREAK case 11: YY_RULE_SETUP -#line 324 "dtimep.lex" +#line 352 "dtimep.lex" tw.tw_hour += 12; YY_BREAK case 12: YY_RULE_SETUP -#line 326 "dtimep.lex" +#line 354 "dtimep.lex" { INIT(); SKIPTOD(); SETZONE(atoi(cp)); +#ifdef DSTXXX + zonehack (&tw); +#endif /* DSTXXX */ } YY_BREAK case 13: YY_RULE_SETUP -#line 331 "dtimep.lex" +#line 362 "dtimep.lex" { INIT(); SKIPTOD(); SETZONE(-atoi(cp)); +#ifdef DSTXXX + zonehack (&tw); +#endif /* DSTXXX */ } YY_BREAK case 14: YY_RULE_SETUP -#line 336 "dtimep.lex" +#line 370 "dtimep.lex" INIT(); SETZONE(0); YY_BREAK case 15: YY_RULE_SETUP -#line 337 "dtimep.lex" +#line 371 "dtimep.lex" INIT(); SETZONE(0); YY_BREAK case 16: YY_RULE_SETUP -#line 338 "dtimep.lex" +#line 372 "dtimep.lex" INIT(); SETZONE(200); YY_BREAK case 17: YY_RULE_SETUP -#line 339 "dtimep.lex" +#line 373 "dtimep.lex" INIT(); SETDST(); SETZONE(2); YY_BREAK case 18: YY_RULE_SETUP -#line 340 "dtimep.lex" +#line 374 "dtimep.lex" INIT(); SETZONE(-500); YY_BREAK case 19: YY_RULE_SETUP -#line 341 "dtimep.lex" +#line 375 "dtimep.lex" INIT(); SETDST(); SETZONE(-500); YY_BREAK case 20: YY_RULE_SETUP -#line 342 "dtimep.lex" +#line 376 "dtimep.lex" INIT(); SETZONE(-600); YY_BREAK case 21: YY_RULE_SETUP -#line 343 "dtimep.lex" +#line 377 "dtimep.lex" INIT(); SETDST(); SETZONE(-600); YY_BREAK case 22: YY_RULE_SETUP -#line 344 "dtimep.lex" +#line 378 "dtimep.lex" INIT(); SETZONE(-700); YY_BREAK case 23: YY_RULE_SETUP -#line 345 "dtimep.lex" +#line 379 "dtimep.lex" INIT(); SETDST(); SETZONE(-700); YY_BREAK case 24: YY_RULE_SETUP -#line 346 "dtimep.lex" +#line 380 "dtimep.lex" INIT(); SETZONE(-800); YY_BREAK case 25: YY_RULE_SETUP -#line 347 "dtimep.lex" +#line 381 "dtimep.lex" INIT(); SETDST(); SETZONE(-800); YY_BREAK case 26: YY_RULE_SETUP -#line 348 "dtimep.lex" +#line 382 "dtimep.lex" INIT(); SETZONE(-330); YY_BREAK case 27: YY_RULE_SETUP -#line 349 "dtimep.lex" +#line 383 "dtimep.lex" INIT(); SETZONE(-400); YY_BREAK case 28: YY_RULE_SETUP -#line 350 "dtimep.lex" +#line 384 "dtimep.lex" INIT(); SETDST(); SETZONE(-400); YY_BREAK case 29: YY_RULE_SETUP -#line 351 "dtimep.lex" +#line 385 "dtimep.lex" INIT(); SETZONE(-900); YY_BREAK case 30: YY_RULE_SETUP -#line 352 "dtimep.lex" +#line 386 "dtimep.lex" INIT(); SETDST(); SETZONE(-900); YY_BREAK case 31: YY_RULE_SETUP -#line 353 "dtimep.lex" +#line 387 "dtimep.lex" INIT(); SETZONE(-1000); YY_BREAK case 32: YY_RULE_SETUP -#line 354 "dtimep.lex" +#line 388 "dtimep.lex" INIT(); SETDST(); SETZONE(-1000); YY_BREAK case 33: YY_RULE_SETUP -#line 355 "dtimep.lex" +#line 389 "dtimep.lex" INIT(); SETDST(); SETZONE(-100); YY_BREAK case 34: YY_RULE_SETUP -#line 356 "dtimep.lex" +#line 390 "dtimep.lex" { INIT(); SETZONE(100*(('a'-1) - tolower(*cp))); @@ -1479,7 +1513,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 360 "dtimep.lex" +#line 394 "dtimep.lex" { INIT(); SETZONE(100*('a' - tolower(*cp))); @@ -1487,7 +1521,7 @@ YY_RULE_SETUP YY_BREAK case 36: YY_RULE_SETUP -#line 364 "dtimep.lex" +#line 398 "dtimep.lex" { INIT(); SETZONE(100*(tolower(*cp) - 'm')); @@ -1495,12 +1529,12 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 368 "dtimep.lex" +#line 402 "dtimep.lex" YY_BREAK case 38: YY_RULE_SETUP -#line 369 "dtimep.lex" +#line 403 "dtimep.lex" ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): @@ -2388,4 +2422,4 @@ int main() return 0; } #endif -#line 369 "dtimep.lex" +#line 403 "dtimep.lex" diff --git a/sbr/dtimep.lex b/sbr/dtimep.lex index 2e79c46c..b4357a1e 100644 --- a/sbr/dtimep.lex +++ b/sbr/dtimep.lex @@ -153,6 +153,34 @@ static int day_map[] = { --cp; } #define SKIPTOSP() { while ( !isspace(*cp++) ) ; \ --cp; } + +#ifdef DSTXXX +# ifdef TIME_WITH_SYS_TIME +# include +# include +# else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +# endif + +static void +zonehack (struct tws *tw) +{ + register struct tm *tm; + + if (dmktime (tw) == (time_t) -1) + return; + + tm = localtime (&tw->tw_clock); + if (tm->tm_isdst) { + tw->tw_flags |= TW_DST; + tw->tw_zone -= 60; + } +} +#endif /* DSTXXX */ %} sun ([Ss]un(day)?) @@ -327,11 +355,17 @@ d [0-9] INIT(); SKIPTOD(); SETZONE(atoi(cp)); +#ifdef DSTXXX + zonehack (&tw); +#endif /* DSTXXX */ } "-"{D}{d}{d} { INIT(); SKIPTOD(); SETZONE(-atoi(cp)); +#ifdef DSTXXX + zonehack (&tw); +#endif /* DSTXXX */ } "-"?("ut"|"UT") INIT(); SETZONE(0); "-"?("gmt"|"GMT") INIT(); SETZONE(0); -- 2.48.1 From 0d6e062b466d0ef7c84b56258612cd87044917f6 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Mon, 24 Jul 2000 23:06:42 +0000 Subject: [PATCH 06/16] Updated README.developers with the fact that zotnet/tws is going away. --- ChangeLog | 4 +++- docs/README.developers | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a7ab1c03..7789d871 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Mon Jul 24 15:52:55 2000 Dan Harkless +Mon Jul 24 16:06:18 2000 Dan Harkless * When Shantonu wrote the new, more portable dtimep.lex, he left out the #ifdef DSTXXX stuff for some reason. Not a good idea, as @@ -6,6 +6,8 @@ Mon Jul 24 15:52:55 2000 Dan Harkless timezones that have daylight saving time. Without that code, -0700 during DST gets printed as MST instead of PDT. + * Updated README.developers with the fact that zotnet/tws is going away. + Thu Jul 20 20:30:52 2000 Dan Harkless * Moved Kimmo's new "--with-hash-backup" to be output with the diff --git a/docs/README.developers b/docs/README.developers index 9edd701e..74c3c075 100644 --- a/docs/README.developers +++ b/docs/README.developers @@ -137,8 +137,11 @@ zotnet/mts/ MTS code not specific to any single MTS apparently goes here. zotnet/tws/ - No idea what "tws" stands for, other than 't' almost certainly standing for - "time". Date and time manipulation routines go here. + "tws" apparently stands for "time with structure", a rather odd phrase. + This directory used to be the place for date and time manipulation code, but + currently nothing in here is compiled. There are new, more portable + versions of the key files in h/ and sbr/, and this directory will soon go + away completely. ------------------------------------------------------- -- 2.48.1 From da12435096e47ec1d362215141fc8b21f24e5e01 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Mon, 24 Jul 2000 23:24:22 +0000 Subject: [PATCH 07/16] Renamed DSTXXX as ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST and added an explanatory comment by its #definition. --- ChangeLog | 5 ++++- h/tws.h | 8 ++++++-- sbr/dtime.c | 4 ++-- sbr/dtimep.c | 12 ++++++------ sbr/dtimep.lex | 12 ++++++------ 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7789d871..2fd18542 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Mon Jul 24 16:06:18 2000 Dan Harkless +Mon Jul 24 16:20:45 2000 Dan Harkless * When Shantonu wrote the new, more portable dtimep.lex, he left out the #ifdef DSTXXX stuff for some reason. Not a good idea, as @@ -6,6 +6,9 @@ Mon Jul 24 16:06:18 2000 Dan Harkless timezones that have daylight saving time. Without that code, -0700 during DST gets printed as MST instead of PDT. + * Renamed DSTXXX as ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST and + added an explanatory comment by its #definition. + * Updated README.developers with the fact that zotnet/tws is going away. Thu Jul 20 20:30:52 2000 Dan Harkless diff --git a/h/tws.h b/h/tws.h index 83ec8806..47a31b9e 100644 --- a/h/tws.h +++ b/h/tws.h @@ -5,8 +5,12 @@ * $Id$ */ -/* DST vs. GMT nonsense */ -#define DSTXXX +/* If the following is #defined, a timezone given as a numeric-only offset will + be treated specially if it's in a zone that observes Daylight Saving Time. + For instance, during DST, a Date: like "Mon, 24 Jul 2000 12:31:44 -0700" will + be printed as "Mon, 24 Jul 2000 12:31:44 PDT". Without the code activated by + the following #define, that'd be incorrectly printed as "...MST". */ +#define ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST 1 struct tws { int tw_sec; /* seconds after the minute - [0, 61] */ diff --git a/sbr/dtime.c b/sbr/dtime.c index 8de4b69c..57b61c88 100644 --- a/sbr/dtime.c +++ b/sbr/dtime.c @@ -376,10 +376,10 @@ dtimezone (int offset, int flags) #endif } -#if defined(DSTXXX) +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST if (flags & TW_DST) hours += 1; -#endif /* defined(DSTXXX) */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ snprintf (buffer, sizeof(buffer), "%s%02d%02d", offset < 0 ? "-" : "+", abs (hours), abs (mins)); return buffer; diff --git a/sbr/dtimep.c b/sbr/dtimep.c index 159c901b..68616b84 100644 --- a/sbr/dtimep.c +++ b/sbr/dtimep.c @@ -945,7 +945,7 @@ static int day_map[] = { #define SKIPTOSP() { while ( !isspace(*cp++) ) ; \ --cp; } -#ifdef DSTXXX +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST # ifdef TIME_WITH_SYS_TIME # include # include @@ -971,7 +971,7 @@ zonehack (struct tws *tw) tw->tw_zone -= 60; } } -#endif /* DSTXXX */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ /* The year can either be 2 digits, or 4. However, after Y2K, we found that some MUA were reporting the year 100, hence the middle term here. yyterminate() resolves the actual @@ -1386,9 +1386,9 @@ YY_RULE_SETUP INIT(); SKIPTOD(); SETZONE(atoi(cp)); -#ifdef DSTXXX +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); -#endif /* DSTXXX */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ } YY_BREAK case 13: @@ -1398,9 +1398,9 @@ YY_RULE_SETUP INIT(); SKIPTOD(); SETZONE(-atoi(cp)); -#ifdef DSTXXX +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); -#endif /* DSTXXX */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ } YY_BREAK case 14: diff --git a/sbr/dtimep.lex b/sbr/dtimep.lex index b4357a1e..c36844da 100644 --- a/sbr/dtimep.lex +++ b/sbr/dtimep.lex @@ -154,7 +154,7 @@ static int day_map[] = { #define SKIPTOSP() { while ( !isspace(*cp++) ) ; \ --cp; } -#ifdef DSTXXX +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST # ifdef TIME_WITH_SYS_TIME # include # include @@ -180,7 +180,7 @@ zonehack (struct tws *tw) tw->tw_zone -= 60; } } -#endif /* DSTXXX */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ %} sun ([Ss]un(day)?) @@ -355,17 +355,17 @@ d [0-9] INIT(); SKIPTOD(); SETZONE(atoi(cp)); -#ifdef DSTXXX +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); -#endif /* DSTXXX */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ } "-"{D}{d}{d} { INIT(); SKIPTOD(); SETZONE(-atoi(cp)); -#ifdef DSTXXX +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); -#endif /* DSTXXX */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ } "-"?("ut"|"UT") INIT(); SETZONE(0); "-"?("gmt"|"GMT") INIT(); SETZONE(0); -- 2.48.1 From 20e97363e4c0e84b3744f3642e7d350fa8916e32 Mon Sep 17 00:00:00 2001 From: Kimmo Suominen Date: Tue, 1 Aug 2000 14:55:53 +0000 Subject: [PATCH 08/16] Make "make install" work in etc/Makefile.in --- ChangeLog | 5 +++++ etc/Makefile.in | 25 ++++++++++++------------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2fd18542..1adac4e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Aug 1 10:48:05 EDT 2000 Kimmo Suominen + + * Fixed install in etc/Makefile.in so it works correctly. + Generated files cannot be installed from source directories. + Mon Jul 24 16:20:45 2000 Dan Harkless * When Shantonu wrote the new, more portable dtimep.lex, he left diff --git a/etc/Makefile.in b/etc/Makefile.in index 1801d686..d50fcf78 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -54,12 +54,6 @@ GENERATED_BIN_FILES = sendfiles # non-scripts generated using above GENERATED_FILE_SRCs GENERATED_ETC_FILES = mhn.defaults mts.conf -# scripts we need to install (in bin) -INSTALL_BIN_FILES = $(GENERATED_BIN_FILES) - -# non-scripts we need to install (in etc) -INSTALL_ETC_FILES = $(STATIC_FILES) $(GENERATED_ETC_FILES) - # auxiliary files (included in distribution but not installed) AUX = Makefile.in @@ -90,17 +84,22 @@ install: install-bin-files install-etc-files install-bin-files: $(top_srcdir)/mkinstalldirs $(bindir) - for script in $(INSTALL_BIN_FILES); do \ - $(INSTALL_PROGRAM) $(srcdir)/$$script $(bindir)/$$script; \ + for script in $(GENERATED_BIN_FILES); do \ + $(INSTALL_PROGRAM) $$script $(bindir)/$$script; \ done install-etc-files: $(top_srcdir)/mkinstalldirs $(etcdir) - for file in $(INSTALL_ETC_FILES); do \ + INSTALL_FILES="$(GENERATED_ETC_FILES)"; \ + for file in $(STATIC_FILES); do \ + INSTALL_FILES="$$INSTALL_FILES $(srcdir)/$$file"; \ + done; \ + for path in $$INSTALL_FILES; do \ + file=`basename $$path`; \ echo "Installing $$file..."; \ if [ -f $(etcdir)/$$file ]; then \ mv $(etcdir)/$$file $(etcdir)/$$file.prev; \ - $(INSTALL_DATA) $(srcdir)/$$file $(etcdir)/$$file; \ + $(INSTALL_DATA) $$path $(etcdir)/$$file; \ if diff $(etcdir)/$$file.prev $(etcdir)/$$file; then \ rm $(etcdir)/$$file.prev; \ else \ @@ -112,19 +111,19 @@ install-etc-files: echo; \ fi; \ else \ - $(INSTALL_DATA) $(srcdir)/$$file $(etcdir)/$$file; \ + $(INSTALL_DATA) $$path $(etcdir)/$$file; \ fi; \ done uninstall: uninstall-bin-files uninstall-etc-files uninstall-bin-files: - for script in $(INSTALL_BIN_FILES); do \ + for script in $(GENERATED_BIN_FILES); do \ rm -f $(bindir)/$$script; \ done uninstall-etc-files: - for file in $(INSTALL_ETC_FILES); do \ + for file in $(STATIC_FILES) $(GENERATED_ETC_FILES); do \ rm -f $(etcdir)/$$file; \ done -- 2.48.1 From bff308e43d7bf5fc175fa0aa41a064f051506e28 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Fri, 4 Aug 2000 00:15:52 +0000 Subject: [PATCH 09/16] TODO: Allow multiple simultaneous differing contexts, probably each tied to a parent (terminal) process. --- ChangeLog | 5 +++++ docs/TODO | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1adac4e2..36866afc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Aug 03 17:14:08 2000 Dan Harkless + + * TODO: Allow multiple simultaneous differing contexts, probably + each tied to a parent (terminal) process. + Tue Aug 1 10:48:05 EDT 2000 Kimmo Suominen * Fixed install in etc/Makefile.in so it works correctly. diff --git a/docs/TODO b/docs/TODO index be9e6dd9..7b5beee5 100644 --- a/docs/TODO +++ b/docs/TODO @@ -29,6 +29,8 @@ * Add some way to configure whether you prefer to see text/plain or text/html parts of multipart/alternative messages. * Flag bogus/misspelled mts.conf "masquerade:" / --enable-masquerade options. +* Allow multiple simultaneous differing contexts, probably each tied to a parent + (terminal) process. [POSSIBILITIES] -- 2.48.1 From 5e5e3a5b7bfe9b89b8f27712f9e0ec13ba384de7 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Sat, 5 Aug 2000 16:00:49 +0000 Subject: [PATCH 10/16] Kimmo's etc/Makefile.in change note implied that install was previously completely broken. Not the case. I asked Kimmo about it and he clarified that it failed when building outside the source tree. Fixed the entry to reflect. --- ChangeLog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 36866afc..f6b89bdf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,8 +5,8 @@ Thu Aug 03 17:14:08 2000 Dan Harkless Tue Aug 1 10:48:05 EDT 2000 Kimmo Suominen - * Fixed install in etc/Makefile.in so it works correctly. - Generated files cannot be installed from source directories. + * Fixed install in etc/Makefile.in so it wouldn't fail when + configuring and building outside the source tree. Mon Jul 24 16:20:45 2000 Dan Harkless -- 2.48.1 From 0f540a390a62d9732f61fdb21f82048093a3d63d Mon Sep 17 00:00:00 2001 From: Ruud de Rooij Date: Mon, 7 Aug 2000 18:42:20 +0000 Subject: [PATCH 11/16] Modify umask set by mhshow to enable user execute bit, so that viewers that create temporary directories (e.g., lynx) will be able to access them. --- ChangeLog | 6 ++++++ configure | 2 +- uip/mhshowsbr.c | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f6b89bdf..5e26bb10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Aug 7 20:11:09 CEST 2000 Ruud de Rooij + + * Modify umask set by mhshow to enable user execute bit, so that + viewers that create temporary directories (e.g., lynx) will be + able to access them. + Thu Aug 03 17:14:08 2000 Dan Harkless * TODO: Allow multiple simultaneous differing contexts, probably diff --git a/configure b/configure index 64d0324f..bbdb686e 100755 --- a/configure +++ b/configure @@ -1104,7 +1104,7 @@ else int main() { /* Ultrix mips cc rejects this. */ -typedef int charset[2]; const charset x; +typedef int charset[2]; const charset x = {0,0}; /* SunOS 4.1.1 cc rejects this. */ char const *const *ccp; char **p; diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index d8733953..eb691001 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -136,7 +136,9 @@ show_single_message (CT ct, char *form) union wait status; #endif - umask (ct->c_umask); + /* Allow user executable bit so that temporary directories created by + * the viewer (e.g., lynx) are going to be accessible */ + umask (ct->c_umask & ~(0100)); /* * If you have a format file, then display -- 2.48.1 From 7394d9e002c22cb0ac9722fe51b877a7462efb3c Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Thu, 10 Aug 2000 20:33:25 +0000 Subject: [PATCH 12/16] Decided that limiting the message number columns to 3 on my scan.MMDDYY and scan.YYYYMMDD (to try to regain space taken by extra date info) was ill-conceived. It's not that tough to get past 999 messages, though I imagine it's rather rare to exceed 9999. Changed these to 4. I had already removed the "replied / encrypted" column in YYYYMMDD, but this time I removed it on MMDDYY as well (I've never seen it used...). --- ChangeLog | 10 ++++++++++ etc/scan.MMDDYY | 5 +++-- etc/scan.YYYYMMDD | 6 +++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5e26bb10..f475a012 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Thu Aug 10 13:22:13 2000 Dan Harkless + + * Decided that limiting the message number columns to 3 on my + scan.MMDDYY and scan.YYYYMMDD (to try to regain space taken by + extra date info) was ill-conceived. It's not that tough to get + past 999 messages, though I imagine it's rather rare to exceed + 9999. Changed these to 4. I had already removed the "replied / + encrypted" column in YYYYMMDD, but this time I removed it on + MMDDYY as well (I've never seen it used...). + Mon Aug 7 20:11:09 CEST 2000 Ruud de Rooij * Modify umask set by mhshow to enable user execute bit, so that diff --git a/etc/scan.MMDDYY b/etc/scan.MMDDYY index d79ad3c3..0f1fff26 100644 --- a/etc/scan.MMDDYY +++ b/etc/scan.MMDDYY @@ -1,9 +1,10 @@ %; scan.MMDDYY %; %; Like scan.default, but the date is printed in MM/DD/YY format rather than -%; MM/DD. Allows one less column for the message number in order to make space. +%; MM/DD. Leaves out the apparently little-used replied/encrypted column in +%; order to make space. %; -%3(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>\ +%4(msg)%<(cur)+%| %>\ %02(mon{date})/%02(mday{date})/%(void(year{date}))%02(modulo 100)%<{date} %|*%>\ %<(mymbox{from})%<{to}To:%14(decode(friendly{to}))%>%>\ %<(zero)%17(decode(friendly{from}))%> \ diff --git a/etc/scan.YYYYMMDD b/etc/scan.YYYYMMDD index 626ab742..f8bee9ff 100644 --- a/etc/scan.YYYYMMDD +++ b/etc/scan.YYYYMMDD @@ -1,10 +1,10 @@ %; scan.YYYYMMDD %; %; Like scan.default, but the date is printed in YYYY-MM-DD format rather than -%; MM/DD. Allows one less column for the message number and leaves out the -%; apparently little-used replied/encrypted column in order to make space. +%; MM/DD. Leaves out the apparently little-used replied/encrypted column in +%; order to make space. %; -%3(msg)%<(cur)+%| %>\ +%4(msg)%<(cur)+%| %>\ %4(year{date})-%02(mon{date})-%02(mday{date})%<{date} %|*%>\ %<(mymbox{from})%<{to}To:%14(decode(friendly{to}))%>%>\ %<(zero)%17(decode(friendly{from}))%> \ -- 2.48.1 From 93b9385f594f86b215fb786953b792473234b59d Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Thu, 10 Aug 2000 21:32:33 +0000 Subject: [PATCH 13/16] Changed my mind again on scan.MMDDYY and scan.YYYYMMDD. Put the replied / encrypted column back in, because it's useful to "always" (at least when you aren't using replied / encrypted) have a space in between the message number and date, so you can use awk (with the default field separators) to grab message numbers from scan output. --- ChangeLog | 8 +++++--- etc/scan.MMDDYY | 5 ++--- etc/scan.YYYYMMDD | 5 ++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index f475a012..a8a566ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,9 +4,11 @@ Thu Aug 10 13:22:13 2000 Dan Harkless scan.MMDDYY and scan.YYYYMMDD (to try to regain space taken by extra date info) was ill-conceived. It's not that tough to get past 999 messages, though I imagine it's rather rare to exceed - 9999. Changed these to 4. I had already removed the "replied / - encrypted" column in YYYYMMDD, but this time I removed it on - MMDDYY as well (I've never seen it used...). + 9999. Changed these to 4. Also put the "replied / encrypted" + column back in YYYYMMDD -- I've never seen it show anything but a + space, but that space is useful if you use scan, grep, and awk + (with the default field separator) to grab message numbers (I know + -- pick should really be used for these purposes...). Mon Aug 7 20:11:09 CEST 2000 Ruud de Rooij diff --git a/etc/scan.MMDDYY b/etc/scan.MMDDYY index 0f1fff26..dd20b290 100644 --- a/etc/scan.MMDDYY +++ b/etc/scan.MMDDYY @@ -1,10 +1,9 @@ %; scan.MMDDYY %; %; Like scan.default, but the date is printed in MM/DD/YY format rather than -%; MM/DD. Leaves out the apparently little-used replied/encrypted column in -%; order to make space. +%; MM/DD. %; -%4(msg)%<(cur)+%| %>\ +%4(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>\ %02(mon{date})/%02(mday{date})/%(void(year{date}))%02(modulo 100)%<{date} %|*%>\ %<(mymbox{from})%<{to}To:%14(decode(friendly{to}))%>%>\ %<(zero)%17(decode(friendly{from}))%> \ diff --git a/etc/scan.YYYYMMDD b/etc/scan.YYYYMMDD index f8bee9ff..741681de 100644 --- a/etc/scan.YYYYMMDD +++ b/etc/scan.YYYYMMDD @@ -1,10 +1,9 @@ %; scan.YYYYMMDD %; %; Like scan.default, but the date is printed in YYYY-MM-DD format rather than -%; MM/DD. Leaves out the apparently little-used replied/encrypted column in -%; order to make space. +%; MM/DD. %; -%4(msg)%<(cur)+%| %>\ +%4(msg)%<(cur)+%| %>%<{replied}-%?{encrypted}E%| %>\ %4(year{date})-%02(mon{date})-%02(mday{date})%<{date} %|*%>\ %<(mymbox{from})%<{to}To:%14(decode(friendly{to}))%>%>\ %<(zero)%17(decode(friendly{from}))%> \ -- 2.48.1 From a5ff28a9c0927f27efd1378ebc97ad72ffeb56d1 Mon Sep 17 00:00:00 2001 From: Dan Harkless Date: Fri, 11 Aug 2000 20:43:07 +0000 Subject: [PATCH 14/16] Further clarified Kimmo's etc/Makefile.in comments at his suggestion. --- ChangeLog | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8a566ba..2ba743ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,8 +23,10 @@ Thu Aug 03 17:14:08 2000 Dan Harkless Tue Aug 1 10:48:05 EDT 2000 Kimmo Suominen - * Fixed install in etc/Makefile.in so it wouldn't fail when - configuring and building outside the source tree. + * Makefile install rules should not look for generated files in + the source tree -- this will happen to work when configuring and + building inside the source tree but will fail when using an + external build tree. Fixed etc/Makefile.in. Mon Jul 24 16:20:45 2000 Dan Harkless -- 2.48.1 From 62f8542a68c21c0ec009e9275cbe54f0c921f2ea Mon Sep 17 00:00:00 2001 From: Shantonu Sen Date: Wed, 6 Sep 2000 22:40:03 +0000 Subject: [PATCH 15/16] Took out parsing of military time, which was causing issues when it encountered something like (MET), which it doesn't recognize as a timezone, and which was then read as military characters. --- sbr/dtimep.c | 950 +++++++++++++++++++++++++------------------------ sbr/dtimep.lex | 16 +- 2 files changed, 492 insertions(+), 474 deletions(-) diff --git a/sbr/dtimep.c b/sbr/dtimep.c index 68616b84..69a0c741 100644 --- a/sbr/dtimep.c +++ b/sbr/dtimep.c @@ -282,78 +282,82 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 38 -#define YY_END_OF_BUFFER 39 -static yyconst short int yy_accept[614] = +#define YY_NUM_RULES 36 +#define YY_END_OF_BUFFER 37 +static yyconst short int yy_accept[661] = { 0, - 0, 0, 39, 37, 37, 37, 37, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 37, 35, 35, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 37, 34, - 34, 34, 34, 34, 34, 37, 35, 36, 36, 36, - 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 37, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 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, 0, 0, 0, 0, + 0, 14, 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, 28, - 27, 0, 0, 33, 21, 20, 0, 19, 18, 0, - 0, 15, 32, 31, 17, 16, 0, 0, 0, 23, - 22, 0, 0, 0, 26, 0, 0, 25, 24, 0, - 0, 0, 0, 0, 0, 30, 29, 0, 0, 12, - 13, 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, 12, 13, 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, 0, 0, 34, 28, 27, 0, + 0, 33, 21, 20, 0, 19, 18, 0, 0, 15, + 32, 31, 17, 16, 0, 0, 0, 23, 22, 0, + 0, 0, 26, 0, 0, 25, 24, 0, 0, 0, + + 0, 0, 0, 30, 29, 0, 0, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 12, 13, 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, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 9, 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, 9, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, + 9, 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, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 7, 7, 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, 10, 11, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, + 7, 7, 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, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 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, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 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, 8, 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, 6, 6, + 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 5, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 5, 5, 0, 0, 8, - 0, 6, 6, 6, 6, 6, 6, 6, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 5, - 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, - 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, - 6, 6, 0, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 6, 0, 0, - 0, 0, 0, 0, 6, 6, 0, 2, 4, 1, - - 1, 0, 6, 0, 0, 0, 1, 0, 0, 1, - 2, 4, 0 + 0, 0, 0, 0, 5, 0, 0, 6, 6, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 6, 0, 0, 0, 0, 0, + 0, 6, 6, 0, 2, 4, 1, 1, 0, 6, + 0, 0, 0, 1, 0, 0, 1, 2, 4, 0 } ; static yyconst int yy_ec[256] = @@ -365,13 +369,13 @@ static yyconst int yy_ec[256] = 1, 1, 4, 5, 6, 1, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 10, 1, 1, 1, 1, 1, 1, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 21, 22, 23, 24, 25, - 26, 26, 27, 28, 29, 26, 30, 26, 31, 1, - 32, 1, 33, 1, 1, 1, 34, 35, 36, 37, + 17, 18, 19, 20, 19, 19, 21, 22, 23, 24, + 19, 19, 25, 26, 27, 19, 28, 19, 29, 19, + 30, 1, 31, 1, 1, 1, 32, 33, 34, 35, - 38, 16, 39, 40, 41, 42, 21, 43, 44, 45, - 46, 47, 26, 48, 49, 50, 51, 52, 30, 26, - 53, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 42, 48, 49, 50, 51, 52, 53, 42, + 54, 42, 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, @@ -388,396 +392,434 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[54] = +static yyconst int yy_meta[55] = { 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, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, + 4, 3, 3, 3 } ; -static yyconst short int yy_base[614] = +static yyconst short int yy_base[665] = { 0, - 0, 0, 988, 989, 46, 48, 96, 62, 960, 48, - 948, 53, 26, 963, 58, 989, 80, 989, 83, 54, - 948, 64, 989, 74, 18, 955, 944, 92, 105, 85, - 932, 74, 78, 936, 84, 101, 105, 91, 104, 929, - 106, 136, 138, 134, 951, 135, 142, 955, 143, 144, - 145, 949, 146, 947, 149, 128, 925, 129, 130, 929, - 131, 137, 138, 923, 144, 921, 145, 193, 175, 183, - 942, 941, 920, 928, 938, 937, 936, 927, 934, 933, - 925, 918, 930, 929, 928, 927, 926, 908, 75, 924, - 923, 143, 905, 921, 896, 897, 918, 917, 894, 896, - - 897, 890, 902, 989, 902, 910, 909, 902, 888, 884, - 883, 882, 881, 880, 879, 878, 877, 876, 875, 874, - 873, 872, 871, 870, 869, 868, 867, 866, 189, 191, - 77, 877, 876, 154, 879, 866, 875, 872, 215, 989, - 989, 162, 190, 989, 989, 989, 206, 989, 989, 199, - 209, 989, 989, 989, 989, 989, 200, 204, 210, 989, - 989, 216, 907, 223, 989, 217, 208, 989, 989, 224, - 229, 231, 238, 248, 254, 989, 989, 875, 874, 253, - 255, 858, 866, 868, 868, 857, 189, 217, 849, 850, - 852, 258, 265, 272, 855, 848, 852, 844, 298, 892, - - 859, 858, 889, 888, 849, 854, 843, 851, 837, 846, - 849, 833, 844, 842, 847, 846, 989, 989, 243, 247, - 256, 267, 275, 271, 281, 274, 875, 285, 283, 280, - 280, 282, 329, 874, 825, 839, 839, 293, 245, 834, - 833, 277, 836, 823, 832, 829, 813, 817, 862, 810, - 827, 823, 823, 815, 805, 820, 822, 806, 832, 831, - 337, 809, 802, 806, 798, 814, 845, 844, 805, 800, - 808, 804, 346, 348, 350, 839, 303, 838, 801, 790, - 358, 835, 788, 796, 798, 798, 787, 306, 288, 779, - 780, 782, 311, 775, 359, 789, 778, 791, 789, 360, - - 789, 769, 784, 776, 775, 295, 358, 816, 767, 781, - 781, 766, 811, 777, 773, 766, 368, 375, 385, 380, - 382, 761, 755, 324, 769, 768, 345, 771, 758, 767, - 764, 276, 361, 371, 351, 366, 384, 395, 291, 799, - 396, 399, 403, 752, 797, 745, 759, 743, 406, 761, - 761, 760, 411, 413, 790, 753, 742, 736, 750, 739, - 751, 415, 783, 427, 438, 782, 781, 734, 742, 744, - 744, 733, 371, 378, 725, 726, 728, 440, 731, 724, - 728, 720, 736, 767, 766, 727, 722, 730, 726, 761, - 425, 714, 436, 708, 989, 989, 442, 446, 450, 712, - - 706, 710, 755, 718, 745, 448, 458, 752, 453, 461, - 426, 462, 437, 463, 466, 469, 471, 470, 751, 474, - 475, 476, 482, 750, 701, 715, 715, 700, 745, 711, - 707, 700, 741, 477, 484, 740, 739, 738, 737, 690, - 487, 689, 690, 447, 449, 697, 499, 516, 691, 684, - 688, 680, 696, 727, 726, 687, 682, 690, 686, 521, - 721, 514, 720, 683, 672, 666, 680, 669, 681, 705, - 506, 712, 703, 671, 666, 660, 664, 657, 669, 669, - 519, 523, 703, 654, 668, 668, 653, 698, 664, 660, - 653, 525, 528, 537, 648, 642, 646, 691, 654, 532, - - 534, 654, 653, 638, 651, 639, 637, 640, 542, 545, - 682, 645, 634, 628, 642, 631, 643, 547, 550, 558, - 553, 556, 675, 674, 673, 626, 663, 561, 638, 637, - 622, 635, 619, 630, 628, 569, 564, 572, 617, 611, - 615, 660, 623, 574, 658, 576, 578, 586, 588, 596, - 657, 591, 989, 605, 604, 619, 602, 617, 619, 603, - 598, 649, 648, 647, 646, 573, 601, 587, 408, 594, - 989, 989, 545, 989, 541, 495, 483, 500, 604, 503, - 493, 606, 614, 609, 989, 446, 444, 989, 449, 611, - 616, 618, 620, 622, 989, 989, 353, 323, 116, 624, - - 626, 94, 989, 628, 630, 632, 634, 636, 638, 989, - 989, 989, 989 + 0, 0, 1119, 1120, 47, 49, 102, 91, 81, 93, + 76, 99, 100, 101, 105, 106, 120, 121, 129, 125, + 133, 119, 82, 130, 113, 143, 150, 137, 1069, 127, + 1081, 130, 137, 1072, 134, 0, 155, 159, 143, 1081, + 147, 161, 156, 1064, 1077, 164, 71, 192, 184, 189, + 0, 196, 197, 202, 201, 203, 204, 205, 206, 210, + 218, 190, 1063, 198, 0, 199, 1067, 202, 203, 205, + 1061, 206, 1059, 207, 255, 236, 256, 0, 1082, 1081, + 1058, 1067, 1078, 1077, 1076, 1067, 1074, 1073, 1065, 1057, + 1070, 1069, 1068, 1067, 1066, 1046, 135, 1064, 1063, 205, + + 1043, 1061, 1034, 1035, 1058, 1057, 1032, 1034, 1035, 1028, + 1042, 0, 1042, 1050, 1049, 1042, 1026, 0, 1022, 1023, + 1020, 1031, 1018, 1017, 1016, 1031, 1014, 1013, 1029, 1021, + 1010, 1009, 1008, 1012, 1006, 1005, 222, 216, 1004, 1008, + 1002, 999, 1000, 999, 998, 997, 996, 998, 999, 992, + 1006, 0, 1006, 990, 989, 241, 252, 90, 1002, 1001, + 240, 1004, 989, 1000, 997, 275, 1120, 1120, 1120, 266, + 244, 1120, 1120, 1120, 271, 1120, 1120, 115, 283, 1120, + 1120, 1120, 1120, 1120, 272, 277, 284, 1120, 1120, 287, + 1030, 292, 1120, 296, 291, 1120, 1120, 300, 306, 307, + + 309, 311, 317, 1120, 1120, 1000, 999, 301, 308, 313, + 315, 323, 322, 324, 328, 327, 1027, 331, 332, 333, + 338, 336, 342, 343, 348, 350, 361, 363, 980, 989, + 992, 992, 979, 322, 326, 971, 972, 974, 367, 375, + 385, 977, 970, 974, 966, 396, 1014, 983, 982, 1011, + 1010, 972, 978, 965, 975, 959, 970, 973, 955, 968, + 966, 971, 970, 1120, 1120, 344, 337, 388, 352, 381, + 390, 394, 400, 997, 399, 383, 397, 400, 405, 418, + 996, 947, 963, 963, 441, 364, 958, 957, 371, 960, + 945, 956, 953, 934, 939, 984, 931, 951, 947, 947, + + 937, 926, 944, 946, 928, 955, 954, 444, 931, 924, + 928, 920, 938, 967, 966, 928, 922, 932, 928, 446, + 449, 454, 961, 434, 960, 925, 912, 462, 957, 910, + 919, 922, 922, 909, 416, 412, 901, 902, 904, 463, + 896, 465, 913, 900, 915, 913, 467, 913, 890, 908, + 898, 897, 466, 471, 938, 889, 905, 905, 888, 933, + 901, 897, 888, 484, 480, 493, 482, 496, 883, 876, + 430, 893, 892, 374, 895, 880, 891, 888, 469, 494, + 496, 498, 508, 510, 511, 514, 921, 513, 512, 515, + 874, 919, 866, 883, 864, 516, 885, 885, 884, 517, + + 520, 912, 877, 864, 857, 874, 861, 875, 525, 905, + 522, 534, 904, 903, 856, 865, 868, 868, 855, 495, + 496, 847, 848, 850, 552, 853, 846, 850, 842, 860, + 889, 888, 850, 844, 854, 850, 883, 518, 836, 550, + 829, 1120, 1120, 554, 558, 566, 834, 827, 832, 877, + 842, 867, 561, 574, 874, 563, 575, 539, 535, 549, + 555, 571, 551, 576, 579, 873, 580, 585, 586, 589, + 872, 823, 839, 839, 822, 867, 835, 831, 822, 863, + 587, 598, 862, 861, 860, 859, 812, 601, 811, 812, + 564, 575, 821, 599, 626, 813, 806, 810, 802, 820, + + 849, 848, 810, 804, 814, 810, 630, 843, 615, 842, + 807, 794, 787, 804, 791, 805, 827, 621, 834, 825, + 794, 788, 782, 786, 779, 793, 793, 632, 634, 825, + 776, 792, 792, 775, 820, 788, 784, 775, 636, 639, + 648, 770, 763, 768, 813, 778, 643, 645, 778, 777, + 760, 775, 761, 759, 762, 653, 656, 804, 769, 756, + 749, 766, 753, 767, 658, 661, 669, 664, 667, 797, + 796, 795, 748, 785, 672, 762, 761, 744, 759, 741, + 754, 752, 680, 675, 683, 739, 732, 737, 782, 747, + 685, 780, 687, 689, 697, 699, 707, 779, 702, 1120, + + 726, 725, 743, 723, 741, 743, 725, 709, 771, 770, + 769, 768, 721, 712, 698, 623, 705, 1120, 1120, 736, + 1120, 735, 712, 725, 722, 715, 688, 676, 717, 725, + 720, 1120, 605, 583, 1120, 589, 722, 727, 729, 731, + 733, 1120, 1120, 565, 583, 428, 735, 737, 200, 1120, + 739, 741, 743, 745, 747, 749, 1120, 1120, 1120, 1120, + 757, 759, 57, 761 } ; -static yyconst short int yy_def[614] = +static yyconst short int yy_def[665] = { 0, - 613, 1, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 0 + 660, 1, 660, 660, 660, 660, 660, 661, 661, 661, + 661, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 661, 661, 661, 661, 10, 660, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 662, 660, 660, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 662, 662, 662, 662, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 660, 660, 660, 663, 663, 663, + 660, 660, 663, 663, 663, 660, 663, 663, 660, 660, + 663, 663, 663, 663, 663, 660, 660, 663, 663, 660, + + 660, 663, 660, 660, 663, 663, 660, 660, 660, 660, + 660, 663, 660, 663, 663, 660, 660, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 664, 664, 664, 664, 664, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 0, + 660, 660, 660, 660 } ; -static yyconst short int yy_nxt[1043] = +static yyconst short int yy_nxt[1175] = { 0, 4, 4, 4, 5, 4, 6, 4, 7, 7, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 4, 30, 31, 32, 11, 33, 34, 35, - 16, 36, 18, 37, 38, 21, 39, 23, 24, 25, - 40, 23, 41, 42, 42, 43, 43, 102, 44, 45, - 46, 76, 47, 81, 48, 49, 79, 50, 103, 51, - 52, 84, 53, 82, 77, 71, 54, 97, 55, 80, - 94, 56, 57, 58, 85, 59, 60, 61, 72, 62, - 98, 63, 64, 86, 65, 583, 90, 68, 66, 95, - - 67, 69, 69, 70, 70, 106, 87, 99, 73, 91, - 113, 100, 74, 88, 115, 108, 92, 158, 107, 159, - 118, 110, 114, 182, 101, 605, 116, 183, 93, 109, - 89, 73, 119, 111, 88, 74, 95, 120, 92, 124, - 125, 122, 127, 129, 129, 130, 130, 71, 76, 121, - 93, 89, 126, 123, 128, 79, 84, 86, 90, 97, - 72, 77, 106, 194, 110, 113, 115, 118, 80, 85, - 87, 91, 98, 120, 122, 107, 111, 114, 116, 119, - 125, 127, 139, 139, 68, 121, 123, 186, 69, 69, - 162, 194, 126, 128, 68, 163, 180, 180, 181, 181, - - 194, 194, 195, 131, 187, 194, 132, 194, 133, 194, - 199, 194, 134, 200, 135, 136, 137, 194, 194, 138, - 192, 192, 193, 193, 199, 199, 131, 200, 200, 132, - 194, 224, 199, 225, 134, 200, 135, 136, 137, 199, - 196, 138, 200, 197, 261, 201, 198, 204, 261, 199, - 202, 205, 200, 208, 207, 199, 203, 261, 200, 206, - 217, 217, 218, 218, 226, 231, 232, 211, 261, 227, - 192, 192, 261, 194, 209, 261, 261, 378, 210, 233, - 233, 261, 261, 262, 261, 212, 261, 273, 273, 274, - 274, 283, 378, 264, 281, 284, 213, 263, 214, 199, - - 282, 282, 353, 353, 275, 238, 238, 276, 239, 269, - 287, 240, 199, 241, 265, 200, 379, 242, 268, 243, - 244, 245, 270, 267, 246, 266, 386, 288, 271, 272, - 275, 239, 604, 276, 240, 339, 277, 277, 261, 242, - 340, 243, 244, 245, 306, 307, 246, 317, 337, 317, - 338, 275, 378, 318, 318, 319, 319, 320, 321, 281, - 199, 199, 378, 200, 200, 354, 354, 378, 324, 317, - 368, 325, 378, 326, 369, 362, 362, 327, 372, 328, - 329, 330, 363, 363, 331, 378, 317, 364, 364, 365, - 365, 324, 363, 363, 325, 373, 378, 378, 382, 327, - - 378, 328, 329, 330, 378, 603, 331, 199, 381, 583, - 200, 380, 397, 416, 397, 417, 383, 584, 398, 398, - 399, 399, 405, 405, 406, 418, 199, 448, 407, 200, - 419, 408, 385, 387, 409, 409, 384, 199, 448, 407, - 200, 378, 408, 397, 388, 410, 410, 423, 423, 435, - 435, 397, 389, 436, 436, 441, 441, 436, 436, 407, - 447, 447, 407, 448, 448, 408, 449, 448, 447, 447, - 448, 448, 448, 442, 451, 448, 448, 448, 199, 443, - 476, 200, 597, 460, 444, 445, 461, 446, 478, 462, - 462, 470, 470, 471, 473, 473, 596, 477, 595, 479, - - 407, 443, 582, 408, 448, 456, 444, 445, 455, 579, - 452, 457, 450, 500, 500, 460, 453, 448, 461, 589, - 458, 454, 460, 481, 482, 459, 509, 509, 492, 493, - 510, 510, 518, 518, 519, 520, 520, 519, 494, 527, - 527, 528, 528, 536, 521, 522, 536, 588, 544, 537, - 537, 545, 538, 538, 546, 546, 519, 547, 547, 544, - 549, 549, 545, 550, 550, 548, 548, 519, 553, 553, - 536, 562, 562, 536, 587, 544, 561, 561, 586, 562, - 562, 567, 567, 568, 568, 569, 569, 544, 544, 544, - 545, 545, 545, 568, 568, 546, 546, 544, 570, 570, - - 545, 585, 585, 548, 548, 578, 578, 579, 581, 581, - 582, 590, 590, 591, 591, 583, 594, 594, 598, 598, - 580, 592, 593, 599, 599, 600, 600, 601, 601, 602, - 602, 606, 606, 607, 607, 608, 608, 609, 609, 610, - 610, 610, 610, 611, 611, 612, 612, 448, 448, 448, - 536, 577, 576, 575, 574, 573, 572, 571, 378, 544, - 566, 448, 565, 564, 563, 560, 559, 558, 557, 556, - 555, 554, 552, 551, 378, 378, 378, 543, 542, 541, - 419, 540, 539, 448, 535, 534, 533, 532, 531, 530, - 529, 526, 378, 525, 524, 523, 517, 516, 515, 448, - - 514, 513, 512, 511, 448, 508, 507, 506, 505, 504, - 503, 502, 501, 261, 471, 499, 498, 497, 340, 496, - 495, 378, 494, 491, 490, 489, 488, 448, 448, 487, - 486, 485, 484, 483, 480, 475, 474, 472, 261, 261, - 261, 397, 194, 469, 468, 467, 378, 466, 465, 464, - 463, 378, 448, 407, 406, 440, 261, 439, 438, 437, - 434, 433, 194, 432, 431, 430, 429, 378, 378, 428, - 427, 426, 425, 424, 422, 421, 420, 415, 414, 413, - 412, 411, 194, 194, 317, 404, 403, 402, 227, 401, - 400, 261, 396, 395, 394, 393, 392, 391, 194, 390, - - 378, 377, 376, 375, 374, 371, 370, 367, 366, 361, - 360, 359, 261, 358, 357, 356, 355, 261, 352, 351, - 350, 349, 348, 347, 346, 345, 344, 163, 343, 342, - 341, 336, 335, 334, 333, 332, 281, 323, 322, 194, - 275, 316, 315, 314, 313, 261, 261, 312, 311, 310, - 309, 308, 305, 304, 303, 302, 301, 300, 299, 298, - 297, 296, 295, 194, 294, 293, 292, 291, 290, 289, - 286, 285, 280, 279, 278, 194, 261, 260, 259, 258, - 257, 256, 255, 254, 253, 252, 251, 250, 249, 194, - 194, 248, 247, 199, 237, 236, 235, 234, 230, 229, - - 228, 223, 222, 221, 220, 219, 216, 215, 194, 191, - 190, 189, 188, 185, 184, 177, 176, 169, 168, 165, - 161, 160, 156, 155, 154, 153, 152, 149, 148, 146, - 145, 144, 141, 140, 179, 178, 177, 176, 175, 174, - 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, - 161, 160, 157, 156, 155, 154, 153, 152, 151, 150, - 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, - 104, 124, 117, 112, 104, 94, 83, 75, 104, 117, - 112, 105, 104, 96, 83, 78, 75, 613, 3, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613 + 4, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 36, 36, 38, 39, 40, 41, 36, 42, 43, + 44, 36, 45, 46, 47, 47, 48, 48, 167, 49, + 50, 51, 52, 53, 52, 54, 55, 52, 56, 57, + 58, 52, 59, 52, 52, 60, 52, 61, 156, 156, + 62, 63, 64, 65, 66, 65, 67, 68, 65, 69, + 65, 65, 70, 71, 65, 72, 65, 65, 65, 73, + + 65, 65, 74, 75, 79, 83, 84, 76, 76, 77, + 77, 86, 87, 78, 78, 80, 241, 85, 92, 78, + 110, 91, 660, 88, 78, 78, 660, 660, 660, 93, + 78, 660, 111, 94, 98, 89, 229, 81, 78, 660, + 230, 82, 78, 660, 95, 99, 105, 90, 113, 78, + 107, 96, 100, 102, 108, 112, 114, 106, 104, 660, + 116, 124, 245, 660, 127, 660, 101, 115, 132, 109, + 97, 119, 129, 117, 103, 125, 660, 186, 128, 187, + 660, 145, 133, 120, 130, 121, 134, 122, 142, 135, + 138, 143, 147, 139, 150, 146, 148, 79, 154, 157, + + 157, 630, 78, 136, 140, 137, 151, 141, 80, 78, + 87, 149, 155, 83, 92, 78, 94, 98, 78, 105, + 78, 88, 91, 78, 119, 93, 78, 95, 99, 102, + 106, 114, 124, 127, 78, 112, 132, 135, 121, 139, + 145, 154, 115, 166, 166, 241, 125, 128, 227, 227, + 133, 136, 190, 141, 146, 155, 75, 75, 191, 228, + 228, 76, 76, 216, 214, 158, 215, 241, 159, 217, + 160, 233, 241, 241, 161, 162, 163, 164, 241, 165, + 239, 239, 240, 240, 246, 241, 158, 247, 241, 159, + 234, 160, 241, 246, 243, 161, 247, 241, 162, 163, + + 164, 246, 241, 165, 247, 242, 244, 241, 246, 241, + 246, 247, 246, 247, 241, 247, 241, 248, 246, 251, + 252, 247, 249, 241, 246, 241, 253, 247, 241, 241, + 250, 254, 246, 241, 241, 247, 255, 241, 308, 246, + 242, 258, 247, 246, 246, 308, 247, 247, 244, 246, + 256, 246, 247, 308, 247, 257, 259, 248, 243, 260, + 252, 261, 245, 251, 271, 253, 272, 254, 264, 264, + 265, 265, 249, 273, 278, 279, 258, 250, 255, 274, + 239, 239, 308, 309, 308, 257, 241, 310, 256, 308, + 259, 308, 280, 280, 261, 308, 260, 246, 308, 312, + + 308, 308, 334, 285, 285, 419, 286, 320, 320, 287, + 330, 288, 321, 321, 331, 289, 290, 291, 292, 322, + 293, 335, 323, 311, 420, 324, 324, 286, 318, 315, + 287, 313, 288, 316, 317, 322, 289, 652, 323, 290, + 291, 292, 328, 314, 293, 308, 319, 364, 329, 329, + 364, 353, 354, 365, 365, 322, 366, 366, 384, 386, + 385, 367, 368, 328, 246, 387, 246, 247, 246, 247, + 425, 247, 371, 400, 400, 372, 415, 373, 401, 401, + 416, 374, 375, 376, 377, 364, 378, 410, 410, 411, + 411, 409, 409, 371, 364, 425, 372, 425, 373, 425, + + 410, 410, 374, 412, 412, 375, 376, 377, 426, 425, + 378, 425, 425, 425, 425, 425, 425, 246, 444, 246, + 247, 444, 247, 454, 445, 445, 455, 446, 446, 456, + 456, 428, 452, 452, 453, 454, 495, 463, 455, 464, + 495, 457, 457, 465, 427, 429, 432, 433, 434, 466, + 495, 246, 495, 425, 247, 444, 495, 435, 430, 470, + 470, 482, 482, 431, 436, 483, 483, 444, 488, 488, + 494, 494, 495, 483, 483, 454, 454, 495, 496, 455, + 495, 495, 494, 494, 498, 497, 495, 495, 246, 489, + 507, 247, 651, 508, 490, 523, 509, 509, 491, 492, + + 454, 493, 499, 455, 501, 517, 517, 518, 520, 520, + 489, 502, 503, 525, 524, 504, 507, 490, 650, 508, + 644, 500, 491, 492, 630, 526, 493, 495, 547, 547, + 505, 507, 631, 528, 529, 506, 643, 539, 540, 556, + 556, 557, 557, 565, 565, 566, 567, 567, 566, 541, + 574, 574, 575, 575, 583, 568, 569, 583, 642, 591, + 584, 584, 592, 585, 585, 593, 593, 566, 594, 594, + 591, 596, 596, 592, 597, 597, 595, 595, 566, 600, + 600, 583, 609, 609, 583, 629, 591, 608, 608, 495, + 609, 609, 614, 614, 615, 615, 616, 616, 591, 591, + + 591, 592, 592, 592, 615, 615, 593, 593, 591, 617, + 617, 592, 632, 632, 595, 595, 625, 625, 626, 628, + 628, 629, 637, 637, 638, 638, 630, 641, 641, 645, + 645, 626, 639, 640, 646, 646, 647, 647, 648, 648, + 649, 649, 653, 653, 654, 654, 655, 655, 656, 656, + 657, 657, 657, 657, 658, 658, 659, 659, 78, 636, + 78, 118, 118, 167, 167, 635, 634, 633, 627, 495, + 495, 495, 583, 624, 623, 622, 621, 620, 619, 618, + 425, 591, 613, 495, 612, 611, 610, 607, 606, 605, + 604, 603, 602, 601, 599, 598, 425, 425, 425, 590, + + 589, 588, 466, 587, 586, 495, 582, 581, 580, 579, + 578, 577, 576, 573, 425, 572, 571, 570, 564, 563, + 562, 495, 561, 560, 559, 558, 495, 555, 554, 553, + 552, 551, 550, 549, 548, 308, 518, 546, 545, 544, + 387, 543, 542, 425, 541, 538, 537, 536, 535, 495, + 495, 534, 533, 532, 531, 530, 527, 522, 521, 519, + 308, 308, 308, 444, 241, 516, 515, 514, 425, 513, + 512, 511, 510, 425, 495, 454, 453, 487, 308, 486, + 485, 484, 481, 480, 241, 479, 478, 477, 476, 425, + 425, 475, 474, 473, 472, 471, 469, 468, 467, 462, + + 461, 460, 459, 458, 241, 241, 364, 451, 450, 449, + 274, 448, 447, 308, 443, 442, 441, 440, 439, 438, + 241, 437, 425, 424, 423, 422, 421, 418, 417, 414, + 413, 408, 407, 406, 308, 405, 404, 403, 402, 308, + 399, 398, 397, 396, 395, 394, 393, 392, 391, 191, + 390, 389, 388, 383, 382, 381, 380, 379, 328, 370, + 369, 241, 322, 363, 362, 361, 360, 308, 308, 359, + 358, 357, 356, 355, 352, 351, 350, 349, 348, 347, + 346, 345, 344, 343, 342, 241, 341, 340, 339, 338, + 337, 336, 333, 332, 327, 326, 325, 241, 308, 307, + + 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, + 296, 241, 241, 295, 294, 246, 284, 283, 282, 281, + 277, 276, 275, 270, 269, 268, 267, 266, 241, 263, + 262, 241, 238, 237, 236, 235, 232, 231, 205, 204, + 226, 225, 224, 223, 222, 221, 197, 196, 220, 193, + 219, 189, 218, 188, 184, 183, 213, 182, 181, 180, + 212, 211, 177, 176, 210, 174, 173, 172, 209, 169, + 208, 168, 207, 206, 205, 204, 203, 202, 201, 200, + 199, 198, 197, 196, 195, 194, 193, 192, 189, 188, + 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, + + 175, 174, 173, 172, 171, 170, 169, 168, 152, 143, + 131, 123, 153, 152, 144, 131, 126, 123, 660, 3, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660 } ; -static yyconst short int yy_chk[1043] = +static yyconst short int yy_chk[1175] = { 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 5, 5, 6, 6, 25, 6, 6, - 6, 10, 6, 13, 6, 6, 12, 6, 25, 6, - 6, 15, 6, 13, 10, 8, 6, 22, 6, 12, - 20, 6, 6, 6, 15, 6, 6, 6, 8, 6, - 22, 6, 6, 17, 6, 602, 19, 7, 6, 20, - - 6, 7, 7, 7, 7, 28, 17, 24, 8, 19, - 32, 24, 8, 17, 33, 29, 19, 89, 28, 89, - 35, 30, 32, 131, 24, 599, 33, 131, 19, 29, - 17, 30, 35, 30, 36, 30, 38, 36, 37, 38, - 39, 37, 41, 42, 42, 43, 43, 44, 46, 36, - 37, 36, 39, 37, 41, 47, 49, 50, 51, 53, - 44, 46, 55, 142, 56, 58, 59, 61, 47, 49, - 50, 51, 53, 62, 63, 55, 56, 58, 59, 61, - 65, 67, 69, 69, 70, 62, 63, 134, 70, 70, - 92, 143, 65, 67, 68, 92, 129, 129, 130, 130, - - 150, 157, 142, 68, 134, 158, 68, 147, 68, 167, - 151, 159, 68, 151, 68, 68, 68, 162, 166, 68, - 139, 139, 139, 139, 164, 170, 68, 164, 170, 68, - 171, 187, 172, 187, 68, 172, 68, 68, 68, 173, - 143, 68, 173, 147, 219, 151, 150, 159, 220, 174, - 157, 162, 174, 167, 166, 175, 158, 221, 175, 164, - 180, 180, 181, 181, 188, 192, 192, 172, 222, 188, - 193, 193, 224, 194, 170, 226, 223, 332, 171, 194, - 194, 230, 225, 219, 229, 173, 228, 231, 231, 232, - 232, 239, 339, 221, 238, 239, 174, 220, 175, 199, - - 238, 238, 306, 306, 277, 199, 199, 277, 199, 226, - 242, 199, 293, 199, 222, 293, 332, 199, 225, 199, - 199, 199, 228, 224, 199, 223, 339, 242, 229, 230, - 233, 199, 598, 233, 199, 289, 233, 233, 261, 199, - 289, 199, 199, 199, 261, 261, 199, 273, 288, 274, - 288, 275, 335, 273, 273, 274, 274, 275, 275, 281, - 295, 300, 333, 295, 300, 307, 307, 336, 281, 317, - 324, 281, 334, 281, 324, 317, 317, 281, 327, 281, - 281, 281, 318, 318, 281, 337, 319, 320, 320, 321, - 321, 281, 319, 319, 281, 327, 338, 341, 335, 281, - - 342, 281, 281, 281, 343, 597, 281, 349, 334, 569, - 349, 333, 353, 373, 354, 373, 336, 569, 353, 353, - 354, 354, 362, 362, 362, 374, 391, 411, 364, 391, - 374, 364, 338, 341, 364, 364, 337, 393, 413, 365, - 393, 378, 365, 397, 342, 365, 365, 378, 378, 397, - 397, 399, 343, 398, 398, 406, 406, 399, 399, 407, - 409, 409, 410, 412, 414, 410, 411, 415, 410, 410, - 416, 418, 417, 407, 413, 420, 421, 422, 434, 407, - 444, 434, 589, 423, 407, 407, 423, 407, 445, 423, - 423, 435, 435, 435, 441, 441, 587, 444, 586, 445, - - 447, 407, 581, 447, 580, 418, 407, 407, 417, 578, - 414, 420, 412, 471, 471, 462, 415, 448, 462, 577, - 421, 416, 460, 448, 448, 422, 481, 481, 460, 460, - 482, 482, 492, 492, 492, 493, 493, 493, 494, 500, - 500, 501, 501, 509, 494, 494, 510, 576, 518, 509, - 509, 518, 510, 510, 518, 518, 518, 519, 519, 520, - 521, 521, 520, 522, 522, 520, 520, 520, 528, 528, - 536, 537, 537, 538, 575, 544, 536, 536, 573, 538, - 538, 544, 544, 546, 546, 547, 547, 548, 568, 549, - 548, 568, 549, 548, 548, 549, 549, 550, 552, 552, - - 550, 570, 570, 550, 550, 561, 561, 561, 567, 567, - 567, 579, 579, 582, 582, 583, 584, 584, 590, 590, - 566, 583, 583, 591, 591, 592, 592, 593, 593, 594, - 594, 600, 600, 601, 601, 604, 604, 605, 605, 606, - 606, 607, 607, 608, 608, 609, 609, 565, 564, 563, - 562, 560, 559, 558, 557, 556, 555, 554, 551, 545, - 543, 542, 541, 540, 539, 535, 534, 533, 532, 531, - 530, 529, 527, 526, 525, 524, 523, 517, 516, 515, - 514, 513, 512, 511, 508, 507, 506, 505, 504, 503, - 502, 499, 498, 497, 496, 495, 491, 490, 489, 488, - - 487, 486, 485, 484, 483, 480, 479, 478, 477, 476, - 475, 474, 473, 472, 470, 469, 468, 467, 466, 465, - 464, 463, 461, 459, 458, 457, 456, 455, 454, 453, - 452, 451, 450, 449, 446, 443, 442, 440, 439, 438, - 437, 436, 433, 432, 431, 430, 429, 428, 427, 426, - 425, 424, 419, 408, 405, 404, 403, 402, 401, 400, - 394, 392, 390, 389, 388, 387, 386, 385, 384, 383, - 382, 381, 380, 379, 377, 376, 375, 372, 371, 370, - 369, 368, 367, 366, 363, 361, 360, 359, 358, 357, - 356, 355, 352, 351, 350, 348, 347, 346, 345, 344, - - 340, 331, 330, 329, 328, 326, 325, 323, 322, 316, - 315, 314, 313, 312, 311, 310, 309, 308, 305, 304, - 303, 302, 301, 299, 298, 297, 296, 294, 292, 291, - 290, 287, 286, 285, 284, 283, 282, 280, 279, 278, - 276, 272, 271, 270, 269, 268, 267, 266, 265, 264, - 263, 262, 260, 259, 258, 257, 256, 255, 254, 253, - 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, - 241, 240, 237, 236, 235, 234, 227, 216, 215, 214, - 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, - 203, 202, 201, 200, 198, 197, 196, 195, 191, 190, - - 189, 186, 185, 184, 183, 182, 179, 178, 163, 138, - 137, 136, 135, 133, 132, 128, 127, 126, 125, 124, - 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, - 113, 112, 111, 110, 109, 108, 107, 106, 105, 103, - 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, - 91, 90, 88, 87, 86, 85, 84, 83, 82, 81, - 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, - 66, 64, 60, 57, 54, 52, 48, 45, 40, 34, - 31, 27, 26, 21, 14, 11, 9, 3, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 613 + 1, 1, 1, 1, 5, 5, 6, 6, 663, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 47, 47, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + + 6, 6, 6, 7, 8, 9, 10, 7, 7, 7, + 7, 11, 12, 13, 14, 8, 178, 10, 15, 16, + 23, 14, 11, 12, 13, 14, 11, 9, 23, 15, + 16, 9, 23, 17, 18, 13, 158, 8, 20, 10, + 158, 8, 19, 10, 17, 18, 21, 13, 25, 20, + 22, 17, 18, 19, 22, 24, 26, 21, 20, 25, + 27, 30, 178, 25, 32, 22, 18, 26, 35, 22, + 17, 28, 33, 27, 19, 30, 24, 97, 32, 97, + 24, 41, 35, 28, 33, 28, 37, 28, 39, 37, + 38, 39, 42, 38, 43, 41, 42, 49, 46, 48, + + 48, 649, 50, 37, 38, 37, 43, 38, 49, 52, + 53, 42, 46, 50, 55, 54, 56, 57, 58, 59, + 52, 53, 54, 60, 62, 55, 54, 56, 57, 58, + 59, 61, 64, 66, 60, 60, 68, 69, 62, 70, + 72, 74, 61, 76, 76, 171, 64, 66, 156, 156, + 68, 69, 100, 70, 72, 74, 75, 77, 100, 157, + 157, 77, 77, 138, 137, 75, 137, 170, 75, 138, + 75, 161, 175, 185, 75, 75, 75, 75, 186, 75, + 166, 166, 166, 166, 179, 187, 75, 179, 190, 75, + 161, 75, 195, 192, 171, 75, 192, 194, 75, 75, + + 75, 198, 208, 75, 198, 170, 175, 199, 200, 209, + 201, 200, 202, 201, 210, 202, 211, 179, 203, 187, + 190, 203, 185, 213, 212, 214, 192, 212, 216, 215, + 186, 194, 218, 219, 220, 218, 195, 222, 267, 221, + 208, 200, 221, 223, 224, 266, 223, 224, 210, 225, + 198, 226, 225, 269, 226, 199, 201, 212, 209, 202, + 216, 203, 211, 215, 234, 218, 234, 219, 227, 227, + 228, 228, 213, 235, 239, 239, 223, 214, 220, 235, + 240, 240, 270, 266, 276, 222, 241, 267, 221, 268, + 224, 271, 241, 241, 226, 272, 225, 246, 277, 269, + + 275, 273, 289, 246, 246, 374, 246, 278, 278, 246, + 286, 246, 279, 279, 286, 246, 246, 246, 246, 280, + 246, 289, 280, 268, 374, 280, 280, 246, 276, 272, + 246, 270, 246, 273, 275, 324, 246, 646, 324, 246, + 246, 246, 285, 271, 246, 308, 277, 320, 285, 285, + 321, 308, 308, 320, 320, 322, 321, 321, 335, 336, + 335, 322, 322, 328, 340, 336, 342, 340, 347, 342, + 379, 347, 328, 353, 353, 328, 371, 328, 354, 354, + 371, 328, 328, 328, 328, 364, 328, 365, 365, 367, + 367, 364, 364, 328, 366, 380, 328, 381, 328, 382, + + 366, 366, 328, 368, 368, 328, 328, 328, 379, 383, + 328, 384, 385, 389, 388, 386, 390, 396, 400, 438, + 396, 401, 438, 411, 400, 400, 411, 401, 401, 411, + 411, 381, 409, 409, 409, 412, 459, 420, 412, 420, + 458, 412, 412, 421, 380, 382, 385, 386, 388, 421, + 460, 440, 463, 425, 440, 444, 461, 389, 383, 425, + 425, 444, 444, 384, 390, 445, 445, 446, 453, 453, + 456, 456, 462, 446, 446, 454, 457, 464, 458, 457, + 465, 467, 457, 457, 460, 459, 468, 469, 481, 454, + 470, 481, 645, 470, 454, 491, 470, 470, 454, 454, + + 494, 454, 461, 494, 463, 482, 482, 482, 488, 488, + 454, 464, 465, 492, 491, 467, 509, 454, 644, 509, + 636, 462, 454, 454, 616, 492, 454, 495, 518, 518, + 468, 507, 616, 495, 495, 469, 634, 507, 507, 528, + 528, 529, 529, 539, 539, 539, 540, 540, 540, 541, + 547, 547, 548, 548, 556, 541, 541, 557, 633, 565, + 556, 556, 565, 557, 557, 565, 565, 565, 566, 566, + 567, 568, 568, 567, 569, 569, 567, 567, 567, 575, + 575, 583, 584, 584, 585, 628, 591, 583, 583, 627, + 585, 585, 591, 591, 593, 593, 594, 594, 595, 615, + + 596, 595, 615, 596, 595, 595, 596, 596, 597, 599, + 599, 597, 617, 617, 597, 597, 608, 608, 608, 614, + 614, 614, 626, 626, 629, 629, 630, 631, 631, 637, + 637, 625, 630, 630, 638, 638, 639, 639, 640, 640, + 641, 641, 647, 647, 648, 648, 651, 651, 652, 652, + 653, 653, 654, 654, 655, 655, 656, 656, 661, 624, + 661, 662, 662, 664, 664, 623, 622, 620, 613, 612, + 611, 610, 609, 607, 606, 605, 604, 603, 602, 601, + 598, 592, 590, 589, 588, 587, 586, 582, 581, 580, + 579, 578, 577, 576, 574, 573, 572, 571, 570, 564, + + 563, 562, 561, 560, 559, 558, 555, 554, 553, 552, + 551, 550, 549, 546, 545, 544, 543, 542, 538, 537, + 536, 535, 534, 533, 532, 531, 530, 527, 526, 525, + 524, 523, 522, 521, 520, 519, 517, 516, 515, 514, + 513, 512, 511, 510, 508, 506, 505, 504, 503, 502, + 501, 500, 499, 498, 497, 496, 493, 490, 489, 487, + 486, 485, 484, 483, 480, 479, 478, 477, 476, 475, + 474, 473, 472, 471, 466, 455, 452, 451, 450, 449, + 448, 447, 441, 439, 437, 436, 435, 434, 433, 432, + 431, 430, 429, 428, 427, 426, 424, 423, 422, 419, + + 418, 417, 416, 415, 414, 413, 410, 408, 407, 406, + 405, 404, 403, 402, 399, 398, 397, 395, 394, 393, + 392, 391, 387, 378, 377, 376, 375, 373, 372, 370, + 369, 363, 362, 361, 360, 359, 358, 357, 356, 355, + 352, 351, 350, 349, 348, 346, 345, 344, 343, 341, + 339, 338, 337, 334, 333, 332, 331, 330, 329, 327, + 326, 325, 323, 319, 318, 317, 316, 315, 314, 313, + 312, 311, 310, 309, 307, 306, 305, 304, 303, 302, + 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, + 291, 290, 288, 287, 284, 283, 282, 281, 274, 263, + + 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, + 252, 251, 250, 249, 248, 247, 245, 244, 243, 242, + 238, 237, 236, 233, 232, 231, 230, 229, 217, 207, + 206, 191, 165, 164, 163, 162, 160, 159, 155, 154, + 153, 151, 150, 149, 148, 147, 146, 145, 144, 143, + 142, 141, 140, 139, 136, 135, 134, 133, 132, 131, + 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, + 120, 119, 117, 116, 115, 114, 113, 111, 110, 109, + 108, 107, 106, 105, 104, 103, 102, 101, 99, 98, + 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, + + 86, 85, 84, 83, 82, 81, 80, 79, 73, 71, + 67, 63, 45, 44, 40, 34, 31, 29, 3, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660 } ; static yy_state_type yy_last_accepting_state; @@ -1124,7 +1166,7 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; + register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; #line 226 "dtimep.lex" @@ -1193,13 +1235,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 614 ) + if ( yy_current_state >= 661 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 989 ); + while ( yy_base[yy_current_state] != 1120 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1389,11 +1431,12 @@ YY_RULE_SETUP #ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); #endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ + // yyterminate(); } YY_BREAK case 13: YY_RULE_SETUP -#line 362 "dtimep.lex" +#line 363 "dtimep.lex" { INIT(); SKIPTOD(); @@ -1401,140 +1444,123 @@ YY_RULE_SETUP #ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); #endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ + // yyterminate(); + } YY_BREAK case 14: YY_RULE_SETUP -#line 370 "dtimep.lex" +#line 373 "dtimep.lex" INIT(); SETZONE(0); YY_BREAK case 15: YY_RULE_SETUP -#line 371 "dtimep.lex" +#line 374 "dtimep.lex" INIT(); SETZONE(0); YY_BREAK case 16: YY_RULE_SETUP -#line 372 "dtimep.lex" +#line 375 "dtimep.lex" INIT(); SETZONE(200); YY_BREAK case 17: YY_RULE_SETUP -#line 373 "dtimep.lex" +#line 376 "dtimep.lex" INIT(); SETDST(); SETZONE(2); YY_BREAK case 18: YY_RULE_SETUP -#line 374 "dtimep.lex" +#line 377 "dtimep.lex" INIT(); SETZONE(-500); YY_BREAK case 19: YY_RULE_SETUP -#line 375 "dtimep.lex" +#line 378 "dtimep.lex" INIT(); SETDST(); SETZONE(-500); YY_BREAK case 20: YY_RULE_SETUP -#line 376 "dtimep.lex" +#line 379 "dtimep.lex" INIT(); SETZONE(-600); YY_BREAK case 21: YY_RULE_SETUP -#line 377 "dtimep.lex" +#line 380 "dtimep.lex" INIT(); SETDST(); SETZONE(-600); YY_BREAK case 22: YY_RULE_SETUP -#line 378 "dtimep.lex" +#line 381 "dtimep.lex" INIT(); SETZONE(-700); YY_BREAK case 23: YY_RULE_SETUP -#line 379 "dtimep.lex" +#line 382 "dtimep.lex" INIT(); SETDST(); SETZONE(-700); YY_BREAK case 24: YY_RULE_SETUP -#line 380 "dtimep.lex" +#line 383 "dtimep.lex" INIT(); SETZONE(-800); YY_BREAK case 25: YY_RULE_SETUP -#line 381 "dtimep.lex" +#line 384 "dtimep.lex" INIT(); SETDST(); SETZONE(-800); YY_BREAK case 26: YY_RULE_SETUP -#line 382 "dtimep.lex" +#line 385 "dtimep.lex" INIT(); SETZONE(-330); YY_BREAK case 27: YY_RULE_SETUP -#line 383 "dtimep.lex" +#line 386 "dtimep.lex" INIT(); SETZONE(-400); YY_BREAK case 28: YY_RULE_SETUP -#line 384 "dtimep.lex" +#line 387 "dtimep.lex" INIT(); SETDST(); SETZONE(-400); YY_BREAK case 29: YY_RULE_SETUP -#line 385 "dtimep.lex" +#line 388 "dtimep.lex" INIT(); SETZONE(-900); YY_BREAK case 30: YY_RULE_SETUP -#line 386 "dtimep.lex" +#line 389 "dtimep.lex" INIT(); SETDST(); SETZONE(-900); YY_BREAK case 31: YY_RULE_SETUP -#line 387 "dtimep.lex" +#line 390 "dtimep.lex" INIT(); SETZONE(-1000); YY_BREAK case 32: YY_RULE_SETUP -#line 388 "dtimep.lex" +#line 391 "dtimep.lex" INIT(); SETDST(); SETZONE(-1000); YY_BREAK case 33: YY_RULE_SETUP -#line 389 "dtimep.lex" +#line 392 "dtimep.lex" INIT(); SETDST(); SETZONE(-100); YY_BREAK case 34: YY_RULE_SETUP -#line 390 "dtimep.lex" -{ - INIT(); - SETZONE(100*(('a'-1) - tolower(*cp))); - } +#line 393 "dtimep.lex" +; YY_BREAK case 35: YY_RULE_SETUP #line 394 "dtimep.lex" -{ - INIT(); - SETZONE(100*('a' - tolower(*cp))); - } - YY_BREAK -case 36: -YY_RULE_SETUP -#line 398 "dtimep.lex" -{ - INIT(); - SETZONE(100*(tolower(*cp) - 'm')); - } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 402 "dtimep.lex" YY_BREAK -case 38: +case 36: YY_RULE_SETUP -#line 403 "dtimep.lex" +#line 395 "dtimep.lex" ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): @@ -1828,7 +1854,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 614 ) + if ( yy_current_state >= 661 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1863,11 +1889,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 614 ) + if ( yy_current_state >= 661 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 613); + yy_is_jam = (yy_current_state == 660); return yy_is_jam ? 0 : yy_current_state; } @@ -2422,4 +2448,4 @@ int main() return 0; } #endif -#line 403 "dtimep.lex" +#line 395 "dtimep.lex" diff --git a/sbr/dtimep.lex b/sbr/dtimep.lex index c36844da..0a65672f 100644 --- a/sbr/dtimep.lex +++ b/sbr/dtimep.lex @@ -358,6 +358,7 @@ d [0-9] #ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); #endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ + // yyterminate(); } "-"{D}{d}{d} { INIT(); @@ -366,6 +367,8 @@ d [0-9] #ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST zonehack (&tw); #endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ + // yyterminate(); + } "-"?("ut"|"UT") INIT(); SETZONE(0); "-"?("gmt"|"GMT") INIT(); SETZONE(0); @@ -387,16 +390,5 @@ d [0-9] "-"?("hst"|"HST") INIT(); SETZONE(-1000); "-"?("hdt"|"HDT") INIT(); SETDST(); SETZONE(-1000); "-"?("bst"|"BST") INIT(); SETDST(); SETZONE(-100); -[a-iA-I] { - INIT(); - SETZONE(100*(('a'-1) - tolower(*cp))); - } -[k-mK-M] { - INIT(); - SETZONE(100*('a' - tolower(*cp))); - } -[n-yN-Y] { - INIT(); - SETZONE(100*(tolower(*cp) - 'm')); - } +"-"?([a-z]{3}|[A-Z]{3}) ; .|\n -- 2.48.1 From e2d7f42498f9cb8cb4b0f4ddd7fcd395829157f2 Mon Sep 17 00:00:00 2001 From: Shantonu Sen Date: Wed, 6 Sep 2000 22:48:43 +0000 Subject: [PATCH 16/16] Included changes to dtimep.lex to remove military zone parsing. --- ChangeLog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2ba743ee..824f2a79 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +Wed Sep 6 22:40:03 2000 Shantonu Sen + + * Tracked down the problem in the new dtimep where time + zones were being radically misreported. It was because the + parser knew about military time zones (such as M or E) but in + some cases did not know about the textual representation of + some zones (like MET). When it encountered one of these, the + date parser misread MET as the military time zone T (well, first + zone M, then E, and finally T). I took military zones out, and + things seem much better. Also, the default behavior of parsing + time zones appears to default to GMT in the absence of better + info, which is less bogus than assuming the mail came from the + current time zone, which was the behavior in 1.04. + Thu Aug 10 13:22:13 2000 Dan Harkless * Decided that limiting the message number columns to 3 on my -- 2.48.1