+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
#ifndef lint
-static char sccsid[] = "@(#)lpc.c 4.4 (Berkeley) %G%";
-#endif
+char copyright[] =
+"@(#) Copyright (c) 1983 Regents of the University of California.\n\
+ All rights reserved.\n";
+#endif /* not lint */
+
+#ifndef lint
+static char sccsid[] = "@(#)lpc.c 5.7 (Berkeley) %G%";
+#endif /* not lint */
/*
* lpc -- line printer control program
#include <signal.h>
#include <ctype.h>
#include <setjmp.h>
+#include <syslog.h>
#include "lpc.h"
extern char *name;
name = argv[0];
+ openlog("lpd", 0, LOG_LPR);
if (--argc > 0) {
c = getcmd(*++argv);
int top;
{
register struct cmd *c;
- extern struct cmd cmdtab[];
- extern int help();
if (!top)
putchar('\n');
printf("lpc> ");
fflush(stdout);
}
- if (gets(cmdline) == 0)
+ if (fgets(cmdline, sizeof(cmdline), stdin) == 0)
quit();
if (cmdline[0] == 0)
break;
longjmp(toplevel, 0);
}
+extern struct cmd cmdtab[];
+
struct cmd *
getcmd(name)
register char *name;
extern int NCMDS;
printf("Commands may be abbreviated. Commands are:\n\n");
- for (c = cmdtab; c < &cmdtab[NCMDS]; c++) {
+ for (c = cmdtab; c < &cmdtab[NCMDS - 1]; c++) {
int len = strlen(c->c_name);
if (len > width)