char po_dir[MAXPATHLEN], wpo_dir[MAXPATHLEN];
struct stat sb;
char *c;
- int flag;
initialize_sms_error_table();
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))
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;