mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-21 15:45:02 +00:00
Add two variables to struct jobqueue, and change the way that getq()
calculates how much space to get for that struct, so it will get the right amount when new variables are added. MFC after: 3 days
This commit is contained in:
parent
568fc330a7
commit
bae8d45c7f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=99842
@ -111,7 +111,7 @@ getq(const struct printer *pp, struct jobqueue *(*namelist[]))
|
||||
{
|
||||
register struct dirent *d;
|
||||
register struct jobqueue *q, **queue;
|
||||
size_t arraysz, nitems;
|
||||
size_t arraysz, entrysz, nitems;
|
||||
struct stat stbuf;
|
||||
DIR *dirp;
|
||||
int statres;
|
||||
@ -143,10 +143,13 @@ getq(const struct printer *pp, struct jobqueue *(*namelist[]))
|
||||
seteuid(uid);
|
||||
if (statres < 0)
|
||||
continue; /* Doesn't exist */
|
||||
q = (struct jobqueue *)malloc(sizeof(time_t) + strlen(d->d_name)
|
||||
+ 1);
|
||||
entrysz = sizeof(struct jobqueue) - sizeof(q->job_cfname) +
|
||||
strlen(d->d_name) + 1;
|
||||
q = (struct jobqueue *)malloc(entrysz);
|
||||
if (q == NULL)
|
||||
goto errdone;
|
||||
q->job_matched = 0;
|
||||
q->job_processed = 0;
|
||||
q->job_time = stbuf.st_mtime;
|
||||
strcpy(q->job_cfname, d->d_name);
|
||||
/*
|
||||
|
@ -183,9 +183,13 @@ extern u_char family; /* address family */
|
||||
|
||||
/*
|
||||
* Structure used for building a sorted list of control files.
|
||||
* The job_processed value can be used by callers of getq(), to keep
|
||||
* track of whatever processing they are doing.
|
||||
*/
|
||||
struct jobqueue {
|
||||
time_t job_time; /* last-mod time of cf-file */
|
||||
int job_matched; /* used by match_jobspec() */
|
||||
int job_processed; /* set to zero by getq() */
|
||||
char job_cfname[MAXNAMLEN+1]; /* control file name */
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user