Sun Aug 28 17:50:38 MST 2005 trials showed month and weekday had to be lowercase removed tolower() when passed from character to block read stupid... went back to by character read [still left in old code and code test fragments, ifdef'd or commented out] [will have to recompile and reinstall note] some tests: chgdate 1/2 +8 m chgdate JAN 2 +8 m chgdate -2 1/1/70 chgdate -2 1/1/1970 chgdate -2 1/1/70 -100 y chgdate -2 1/1/1970 +100 y chgdate -3 6 3 mon chgdate -3 6 3 Mon chgdate -3 6 3 mON chgdate -3 6 3 mONday chgdate -3 june 1, 1989 3 mON chgdate -3 JUNE 1, 1989 3 mO chgdate now 1 y 1 m 1 w 1 d - now chgdate now 1 y 1 m 1 w 1 d Fri Feb 6 23:11:11 MST 2004 found chgdate did not parse input correctly, e.g.: chgdate 1/2 today and some others fixed by revising input == redefine of YY_INPUT used simpler = block read inline code reinstalled executable also recompiled and reinstalled "note" Tue Jan 20 08:55:51 MST 2004 recompiled on mac, osx 10.3 problem: gnu yacc and lex differ from att main change affecting getdate = no redef of input() in lex now, use redefine of YY_INPUT - as noted in various refs done with inline code, as in lex output std define of YY_INPUT works with char-by-char read/transfer of input string fails if add terminating '\0' at end of transfer to lex buf does not work with redefine to function, then block read of string did not pursue source of error, except failure is block read leads to eof seen by lex terminating '\0'? string is read properly from input buffer sp works if do not redefine and use yyin to input string code used to test left in commented out for later play