]> andersk Git - moira.git/blobdiff - gen/hesiod.dc
If creating a list which has the same name as a username, prompt and ask
[moira.git] / gen / hesiod.dc
index 13c8bf079ea3157aa6b93ecdbbd4d0f512f9b825..d99b2f87c809fd71841fd9c8e7c0099fe2bee8d8 100644 (file)
@@ -112,7 +112,7 @@ get_mach()
 {
     EXEC SQL BEGIN DECLARE SECTION;
     int id;
-    char name[33];
+    char name[41];
     EXEC SQL END DECLARE SECTION;
 
     if (machines)
@@ -122,6 +122,7 @@ get_mach()
     EXEC SQL DECLARE m_cursor CURSOR FOR
       SELECT name, mach_id
       FROM machine
+      WHERE status = 1
       ORDER BY mach_id;
     EXEC SQL OPEN m_cursor;
     while (1) {
@@ -129,12 +130,7 @@ get_mach()
         if (sqlca.sqlcode != 0) break;
        hash_store(machines, id, strsave(strtrim(name)));
     }
-    if (sqlca.sqlcode < 0) {
-       com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-       critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                      sqlca.sqlcode);
-       exit(MR_INGRES_ERR);
-    }
+    if (sqlca.sqlcode < 0) db_error(sqlca.sqlcode);
     EXEC SQL CLOSE m_cursor;
 #ifsql INGRES
     EXEC SQL COMMIT;
@@ -226,17 +222,12 @@ do_passwd()
                        login, shell);
                fprintf(uout, "%d.uid\tHS CNAME %s.passwd\n", uid, login);
            }
-           if (ptype[0] == 'P' && (mach = hash_lookup(machines, pid))) {
+           if (pid != 0 && (mach = hash_lookup(machines, pid))) {
                fprintf(bout, "%s.pobox\tHS %s \"POP %s %s\"\n",
                        login, HTYPE, mach, login);
            }
     }
-    if (sqlca.sqlcode < 0) {
-       com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-       critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                      sqlca.sqlcode);
-       exit(MR_INGRES_ERR);
-    }
+    if (sqlca.sqlcode < 0) db_error(sqlca.sqlcode);
     EXEC SQL CLOSE u_cursor;
 #ifsql INGRES
     EXEC SQL COMMIT;
@@ -419,10 +410,8 @@ do_groups()
     fix_file(loutf);
     return(1);
  sqlerr:
-    com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-    critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                  sqlca.sqlcode);
-    exit(MR_INGRES_ERR);
+    db_error(sqlca.sqlcode);
+    return(0);
 }
 
 
@@ -585,10 +574,8 @@ do_filsys()
     fix_file(outf);
     return(1);
  sqlerr:
-    com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-    critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                  sqlca.sqlcode);
-    exit(MR_INGRES_ERR);
+    db_error(sqlca.sqlcode);
+    return(0);
 }
 
 
@@ -625,12 +612,12 @@ set_mask *set;
 do_cluster()
 {
     FILE *out;
-    char outf[64], outft[64], *mach, machbuf[33], *p;
+    char outf[64], outft[64], *mach, machbuf[41], *p;
     struct stat sb;
     time_t ftime;
     EXEC SQL BEGIN DECLARE SECTION;
     int flag1, flag2, flag3, flag4, maxmach, maxclu, mid, cid, id;
-    char name[33], label2[17], data[33];
+    char name[41], label2[17], data[33];
     EXEC SQL END DECLARE SECTION;
     set_mask **machs, *ms, *ps;
     int oneclu;
@@ -780,10 +767,8 @@ do_cluster()
     fix_file(outf);
     return(1);
  sqlerr:
-    com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-    critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                  sqlca.sqlcode);
-    exit(MR_INGRES_ERR);
+    db_error(sqlca.sqlcode);
+    return(0);
 }
 
 
@@ -853,10 +838,8 @@ do_printcap()
     fix_file(outf);
     return(1);
  sqlerr:
-    com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-    critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                  sqlca.sqlcode);
-    exit(MR_INGRES_ERR);
+    db_error(sqlca.sqlcode);
+    return(0);
   }
 
 
@@ -934,10 +917,8 @@ do_palladium()
     fix_file(outf);
     return(1);
  sqlerr:
-    com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-    critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                  sqlca.sqlcode);
-    exit(MR_INGRES_ERR);
+    db_error(sqlca.sqlcode);
+    return(0);
 }
 
 
@@ -1002,10 +983,8 @@ do_sloc()
     fix_file(outf);
     return(1);
  sqlerr:
-    com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-    critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                  sqlca.sqlcode);
-    exit(MR_INGRES_ERR);
+    db_error(sqlca.sqlcode);
+    return(0);
 }
 
 do_service()
@@ -1081,8 +1060,6 @@ do_service()
     fix_file(outf);
     return(1);
  sqlerr:
-    com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
-    critical_alert("DCM", "Hesiod build encountered DATABASE ERROR %d",
-                  sqlca.sqlcode);
-    exit(MR_INGRES_ERR);
+    db_error(sqlca.sqlcode);
+    return(0);
 }
This page took 0.037019 seconds and 4 git commands to generate.