char crontab
[] = "/usr/lib/crontab";
freopen(crontab
, "r", stdin
);
freopen("/", "r", stdout
);
freopen("/", "r", stderr
);
signal(SIGQUIT
, SIG_IGN
);
itime
-= localtime(&itime
)->tm_sec
;
for (;; itime
+=60, slp()) {
if (stat(crontab
, &cstat
) == -1)
if (cstat
.st_mtime
> filetime
) {
filetime
= cstat
.st_mtime
;
loct
= localtime(&itime
);
loct
->tm_mon
++; /* 1-12 for month */
for(cp
= list
; *cp
!= EOS
;) {
cp
= cmp(cp
, loct
->tm_min
);
cp
= cmp(cp
, loct
->tm_hour
);
cp
= cmp(cp
, loct
->tm_mday
);
cp
= cmp(cp
, loct
->tm_mon
);
cp
= cmp(cp
, loct
->tm_wday
);
freopen("/", "r", stdin
);
execl("/bin/sh", "sh", "-c", s
, 0);
freopen(crontab
, "r", stdin
);
list
= realloc(list
, LISTS
);
if(cp
> list
+listsize
-100) {
list
= realloc(list
, listsize
);
cp
= list
+ (cp
- olist
);
while(c
== ' ' || c
== '\t')
if(c
== EOF
|| c
== '\n')
if(c
!= '\t' && c
!= ' ')
if ((n
= number(getchar())) < 0)
if(c
!= '\t' && c
!= ' ')
if ((n
= number(getchar())) < 0)
if(c
!= '\t' && c
!= ' ')