version 1.45, 2006/03/22 21:51:39 |
version 1.46, 2006/04/26 03:01:48 |
|
|
static void list_jobs(int, char **, int, int); |
static void list_jobs(int, char **, int, int); |
static time_t ttime(const char *); |
static time_t ttime(const char *); |
static int check_permission(void); |
static int check_permission(void); |
static void panic(const char *); |
static __dead void panic(const char *); |
static void perr(const char *); |
static void perr(const char *); |
static void perr2(const char *, const char *); |
static void perr2(const char *, const char *); |
static __dead void usage(void); |
static __dead void usage(void); |
|
|
perr(b); |
perr(b); |
} |
} |
|
|
|
/* ARGSUSED */ |
static void |
static void |
sigc(int signo) |
sigc(int signo) |
{ |
{ |
|
|
_exit(ERROR_EXIT); |
_exit(ERROR_EXIT); |
} |
} |
|
|
|
/* ARGSUSED */ |
static void |
static void |
alarmc(int signo) |
alarmc(int signo) |
{ |
{ |
|
|
static int |
static int |
byctime(const void *v1, const void *v2) |
byctime(const void *v1, const void *v2) |
{ |
{ |
const struct atjob *j1 = *(struct atjob **)v1; |
const struct atjob *j1 = *(const struct atjob **)v1; |
const struct atjob *j2 = *(struct atjob **)v2; |
const struct atjob *j2 = *(const struct atjob **)v2; |
|
|
return (j1->ctime - j2->ctime); |
return (j1->ctime - j2->ctime); |
} |
} |
|
|
struct passwd *pw; |
struct passwd *pw; |
time_t runtimer; |
time_t runtimer; |
uid_t *uids; |
uid_t *uids; |
char **jobs, *ep, queue; |
char **jobs, *ep; |
long l; |
long l; |
FILE *fp; |
FILE *fp; |
DIR *spool; |
DIR *spool; |
|
|
l < 0 || l >= INT_MAX) |
l < 0 || l >= INT_MAX) |
continue; |
continue; |
runtimer = (time_t)l; |
runtimer = (time_t)l; |
queue = *(ep + 1); |
|
|
|
/* Check runtimer against argv; argc==0 means do all. */ |
/* Check runtimer against argv; argc==0 means do all. */ |
job_matches = (argc == 0) ? 1 : 0; |
job_matches = (argc == 0) ? 1 : 0; |