Print out a warning message if a `lpc setstatus' is done when

the queue is not 'lpc stop'-ed.  In that situation `lpq' will
not display the status message to the user, and the operator
may think the queue is already stopped when it is not.

MFC after:	3 weeks
This commit is contained in:
Garance A Drosehn 2012-04-30 01:10:13 +00:00
parent cbd3cbbae0
commit 7574a1c16e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=234826

View File

@ -1009,12 +1009,30 @@ setstatus_gi(int argc __unused, char *argv[] __unused)
void
setstatus_q(struct printer *pp)
{
struct stat stbuf;
int not_shown;
char lf[MAXPATHLEN];
lock_file_name(pp, lf, sizeof lf);
printf("%s:\n", pp->printer);
upstat(pp, generic_msg, 1);
/*
* Warn the user if 'lpq' will not display this new status-message.
* Note that if lock file does not exist, then the queue is enabled
* for both queuing and printing.
*/
not_shown = 1;
if (stat(lf, &stbuf) >= 0) {
if (stbuf.st_mode & LFM_PRINT_DIS)
not_shown = 0;
}
if (not_shown) {
printf("\tnote: This queue currently has printing enabled,\n");
printf("\t so this -msg will only be shown by 'lpq' if\n");
printf("\t a job is actively printing on it.\n");
}
}
/*