common code for checking if rm==localhost
[unix-history] / usr / src / usr.sbin / lpr / common_source / displayq.c
index c0227f0..e08c274 100644 (file)
@@ -1,18 +1,30 @@
 /*
  * Copyright (c) 1983 Regents of the University of California.
 /*
  * Copyright (c) 1983 Regents of the University of California.
- * All rights reserved.  The Berkeley software License Agreement
- * specifies the terms and conditions for redistribution.
+ * 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
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)displayq.c 5.1 (Berkeley) 6/6/85";
-#endif not lint
+static char sccsid[] = "@(#)displayq.c 5.11 (Berkeley) %G%";
+#endif /* not lint */
 
 /*
  * Routines to display the state of the queue.
  */
 
 #include "lp.h"
 
 /*
  * Routines to display the state of the queue.
  */
 
 #include "lp.h"
+#include "pathnames.h"
 
 #define JOBCOL 40              /* column for job # in -l format */
 #define OWNCOL 7               /* start of Owner column in normal */
 
 #define JOBCOL 40              /* column for job # in -l format */
 #define OWNCOL 7               /* start of Owner column in normal */
@@ -33,7 +45,6 @@ int   rank;           /* order to be printed (-1=none, 0=active) */
 long   totsize;        /* total print job size in bytes */
 int    first;          /* first file in ``files'' column? */
 int    col;            /* column on screen */
 long   totsize;        /* total print job size in bytes */
 int    first;          /* first file in ``files'' column? */
 int    col;            /* column on screen */
-int    sendtorem;      /* are we sending to a remote? */
 char   file[132];      /* print file name */
 
 char   *head0 = "Rank   Owner      Job  Files";
 char   file[132];      /* print file name */
 
 char   *head0 = "Rank   Owner      Job  Files";
@@ -62,51 +73,18 @@ displayq(format)
        else if (i == 0)
                fatal("unknown printer");
        if ((LP = pgetstr("lp", &bp)) == NULL)
        else if (i == 0)
                fatal("unknown printer");
        if ((LP = pgetstr("lp", &bp)) == NULL)
-               LP = DEFDEVLP;
+               LP = _PATH_DEFDEVLP;
        if ((RP = pgetstr("rp", &bp)) == NULL)
                RP = DEFLP;
        if ((SD = pgetstr("sd", &bp)) == NULL)
        if ((RP = pgetstr("rp", &bp)) == NULL)
                RP = DEFLP;
        if ((SD = pgetstr("sd", &bp)) == NULL)
-               SD = DEFSPOOL;
+               SD = _PATH_DEFSPOOL;
        if ((LO = pgetstr("lo", &bp)) == NULL)
                LO = DEFLOCK;
        if ((ST = pgetstr("st", &bp)) == NULL)
                ST = DEFSTAT;
        RM = pgetstr("rm", &bp);
        if ((LO = pgetstr("lo", &bp)) == NULL)
                LO = DEFLOCK;
        if ((ST = pgetstr("st", &bp)) == NULL)
                ST = DEFSTAT;
        RM = pgetstr("rm", &bp);
-
-       /*
-        * Figure out whether the local machine is the same as the remote 
-        * machine entry (if it exists).  If not, then ignore the local
-        * queue information.
-        */
-        if (RM != (char *) NULL) {
-               char name[256];
-               struct hostent *hp;
-
-               /* get the standard network name of the local host */
-               gethostname(name, sizeof(name));
-               name[sizeof(name)-1] = '\0';
-               hp = gethostbyname(name);
-               if (hp == (struct hostent *) NULL) {
-                   printf("unable to get network name for local machine %s\n",
-                       name);
-                   goto localcheck_done;
-               } else (void) strcpy(name, hp->h_name);
-
-               /* get the network standard name of RM */
-               hp = gethostbyname(RM);
-               if (hp == (struct hostent *) NULL) {
-                   printf("unable to get hostname for remote machine %s\n",
-                       RM);
-                   goto localcheck_done;
-               }
-
-               /* if printer is not on local machine, ignore LP */
-               if (strcmp(name, hp->h_name)) {
-                       *LP = '\0';
-                       ++sendtorem;
-               }
-       }
-localcheck_done:
+       if (cp = checkremote())
+               printf("Warning: %s\n", cp);
 
        /*
         * Print out local queue
 
        /*
         * Print out local queue
@@ -187,8 +165,9 @@ localcheck_done:
                }
                free(queue);
        }
                }
                free(queue);
        }
-       else if (!sendtorem) {
-               puts("no entries");
+       if (!sendtorem) {
+               if (nitems == 0)
+                       puts("no entries");
                return;
        }
 
                return;
        }
 
@@ -305,7 +284,7 @@ inform(cf)
        fclose(cfp);
        if (!lflag) {
                blankfill(SIZCOL);
        fclose(cfp);
        if (!lflag) {
                blankfill(SIZCOL);
-               printf("%D bytes\n", totsize);
+               printf("%ld bytes\n", totsize);
                totsize = 0;
        }
 }
                totsize = 0;
        }
 }
@@ -401,7 +380,7 @@ ldump(nfile, file, copies)
        else
                printf("%-32s", nfile);
        if (*file && !stat(file, &lbuf))
        else
                printf("%-32s", nfile);
        if (*file && !stat(file, &lbuf))
-               printf(" %D bytes", lbuf.st_size);
+               printf(" %ld bytes", lbuf.st_size);
        else
                printf(" ??? bytes");
        putchar('\n');
        else
                printf(" ??? bytes");
        putchar('\n');
@@ -423,7 +402,7 @@ prank(n)
                col += 6;
                return;
        }
                col += 6;
                return;
        }
-       if ((n/10) == 1)
+       if ((n/10)%10 == 1)
                (void) sprintf(line, "%dth", n);
        else
                (void) sprintf(line, "%d%s", n, r[n%10]);
                (void) sprintf(line, "%dth", n);
        else
                (void) sprintf(line, "%d%s", n, r[n%10]);