static char *sccsid
= "@(#)atrun.c 4.4 (Berkeley) 7/2/83";
* Run programs submitted by at.
# define ATDIR "/usr/spool/at"
# define LASTF "/usr/spool/at/lasttimedone"
if ((dirp
= opendir(".")) == NULL
) {
fprintf(stderr
, "Cannot read at directory\n");
while ((dirent
= readdir(dirp
)) != NULL
) {
if (sscanf(dirent
->d_name
, "%2d.%3d.%4d.%2d", &year
, &day
, &tt
, &uniq
) != 4)
if (nowyear
==year
&& nowdate
< day
)
if (nowyear
==year
&& nowdate
==day
&& nowtime
< tt
)
nowtime
= tp
->tm_hour
*100 + tp
->tm_min
;
tfile
= fopen(LASTF
, "w");
fprintf(stderr
, "can't write lastfile\n");
fprintf(tfile
, "%04d\n", t
);
/* printf("running %s\n", file); */
dup(dup(open("/dev/null", 0)));
sprintf(sbuf
, "%s/%s", PDIR
, file
);
if (stat(file
, &stbuf
) == -1)
execl("/bin/sh", "sh", file
, 0);
execl("/usr/bin/sh", "sh", file
, 0);
fprintf(stderr
, "Can't execl shell\n");