]> andersk Git - moira.git/blobdiff - gen/postoffice.pc
Command line printer manipulation client, and build goo.
[moira.git] / gen / postoffice.pc
index 091e0645457046fc610435261dabb0f6267abd86..5d7cd7b2c93271e847c9de2328b6fe06637bcdae 100644 (file)
@@ -42,7 +42,6 @@ int main(int argc, char **argv)
   char po_dir[MAXPATHLEN], wpo_dir[MAXPATHLEN];
   struct stat sb;
   char *c;
-  int flag;
 
   initialize_sms_error_table();
 
@@ -89,39 +88,25 @@ int main(int argc, char **argv)
 
   EXEC SQL CONNECT :db;
 
-  flag = 0;
-  if (stat(po_dir, &sb) == 0)
-    {
-      if (ModDiff (&flag, "filesys", sb.st_mtime))
-        exit(MR_DATE);
-    }
-  if (flag < 0)
-    {
-      fprintf(stderr, "%s: %s does not need to be rebuilt.\n", whoami, po_dir);
-      unlink(wpo_dir);
-    }
-  else
-    {
-      fprintf(stderr, "%s: building po databases...\n", whoami);
-      pobox(wpo_dir);
+  fprintf(stderr, "%s: building po databases...\n", whoami);
+  pobox(wpo_dir);
 
-      if (stat(po_dir, &sb) != -1)
+  if (stat(po_dir, &sb) != -1)
+    {
+      fprintf(stderr, "%s: removing %s\n", whoami, po_dir);
+      sprintf(cmd, "rm -r %s", po_dir);
+      if (strncmp(po_dir, wpo_dir, strlen(po_dir)))
+       exit(MR_CCONFIG);
+      if (system(cmd))
        {
-          fprintf(stderr, "%s: removing %s\n", whoami, po_dir);
-          sprintf(cmd, "rm -r %s", po_dir);
-          if (strncmp(po_dir, wpo_dir, strlen(po_dir)))
-           exit(MR_CCONFIG);
-          if (system(cmd))
-           {
-              fprintf(stderr, "%s: unable to remove %s (%s)", whoami, po_dir,
-                     strerror(errno));
-              exit(MR_CCONFIG);
-           }
+         fprintf(stderr, "%s: unable to remove %s (%s)", whoami, po_dir,
+                 strerror(errno));
+         exit(MR_CCONFIG);
        }
-
-      rename(wpo_dir, po_dir);
     }
 
+  rename(wpo_dir, po_dir);
+
   fprintf(stderr, "%s: building tar file...\n", whoami);
   sprintf(cmd, "(cd %s; tar cf - . ) > %s.out", po_dir, po_dir);
   if (system(cmd))
@@ -198,10 +183,11 @@ void pobox(char *path)
 
       EXEC SQL DECLARE filsys_cursor CURSOR FOR
        SELECT f.label, f.lockertype, p.dir, q.quota
-       FROM filesys f, nfsphys p, quota q
+       FROM filesys f, nfsphys p, quota q, users u
        WHERE f.mach_id=:mid AND f.type='IMAP' AND f.createflg!=0
        AND f.filsys_id=q.filsys_id
        AND f.mach_id=p.mach_id AND f.phys_id=p.nfsphys_id
+       AND f.owner = u.users_id AND u.status != 3
        ORDER BY f.label, p.dir, q.quota;
       EXEC SQL OPEN filsys_cursor;
 
This page took 0.035489 seconds and 4 git commands to generate.