]> andersk Git - moira.git/blobdiff - gen/boot.pc
Command line printer manipulation client, and build goo.
[moira.git] / gen / boot.pc
index 6679575f324277a8119ea2ae792dfcaffc39b967..79f12be66ada0df4459c992b10ce541aa22ed581 100644 (file)
@@ -58,13 +58,14 @@ int main(int argc, char **argv)
   EXEC SQL WHENEVER SQLERROR DO sqlerr();
 
   /* Get print spoolers for allow lists. */
-  EXEC SQL SELECT COUNT(service) INTO :alcount FROM serverhosts
-    WHERE service = 'PRINT';
+  EXEC SQL SELECT COUNT(service) INTO :alcount FROM serverhosts sh
+    WHERE sh.service = 'PRINT' or sh.service = 'CUPS-PRINT';
   allowlist = malloc(alcount * sizeof(*allowlist));
 
   EXEC SQL DECLARE csr_spool CURSOR FOR
     SELECT m.address, sh.value3 FROM machine m, serverhosts sh
-    WHERE m.mach_id = sh.mach_id AND sh.service = 'PRINT';
+    WHERE m.mach_id = sh.mach_id AND 
+    (sh.service = 'PRINT' OR sh.service = 'CUPS-PRINT');
   EXEC SQL OPEN csr_spool;
   for (i = 0; i < alcount; i++)
     {
@@ -130,11 +131,11 @@ int main(int argc, char **argv)
 
       fprintf(out, "# %s: %s\n# contact: %s\n%s:\\\n\t:tc=net%s.global:\\\n"
              "\t:ht=ethernet:\\\n\t:ha=%s:\\\n\t:ip=%s:\\\n"
-             "\t:lg=%s:\\\n\t:vm=rfc1048:\n",
+             "\t:lg=%s:\\\n\t:vm=rfc1048:",
              shortname, location, contact, name, net, hwaddr, addr, logaddr);
-      if (!strcmp(hwtype, "HP"))
-       fprintf(out, "\t:T144=\"/hp/%s\":\\\n", shortname);
-      fprintf(out, "\n");
+      if (!strncmp(hwtype, "HP", 2))
+       fprintf(out, "\\\n\t:T144=\"/hp/%s\":", shortname);
+      fprintf(out, "\n\n");
     }
   EXEC SQL CLOSE csr_boot;
   tarfile_end(tf);
@@ -144,7 +145,7 @@ int main(int argc, char **argv)
     SELECT LOWER(m.name), m.hwaddr, m2.address, m3.address, pr.type,
     pr.location, pr.contact, TO_CHAR(pr.modtime, :unixtime_fmt)
     FROM printers pr, machine m, machine m2, machine m3
-    WHERE pr.hwtype = 'HP' AND pr.mach_id != 0
+    WHERE pr.hwtype LIKE 'HP%' AND pr.mach_id != 0
     AND pr.mach_id = m.mach_id AND pr.rm = m2.mach_id
     AND pr.loghost = m3.mach_id AND pr.type != 'ALIAS';
   EXEC SQL OPEN csr_boot2;
This page took 0.04511 seconds and 4 git commands to generate.