Version 3.17 of 'at' doesn't handle 12:00am-12:59am time specifications correctly: % at -f /tmp/blah 12:30am; atq; atrm 6; warning: commands will be executed using /bin/sh job 6 at 1998-12-15 12:30 6 1998-12-15 12:30 a (Notice that the job is scheduled for 12:30pm.) The patch below fixes this. --- parsetime.y.orig Tue May 13 08:46:16 1997 +++ parsetime.y Tue Dec 15 01:53:11 1998 @@ -181,6 +181,15 @@ ; am_pm : AM + { + if (exectm.tm_hour > 12) { + yyerror("Hour too large for AM"); + YYERROR; + } + else if (exectm.tm_hour == 12) { + exectm.tm_hour -=12; + } + } | PM { if (exectm.tm_hour > 12) {
(Note that the yyerror line in the patch wrapped.)
Fixed in the current beta