]> andersk Git - moira.git/commitdiff
Remove ModDiff(). unixtime() moved from moddiff.pc to util.c.
authorzacheiss <zacheiss>
Thu, 30 Nov 2000 23:27:36 +0000 (23:27 +0000)
committerzacheiss <zacheiss>
Thu, 30 Nov 2000 23:27:36 +0000 (23:27 +0000)
13 files changed:
gen/Makefile.in
gen/directory.pc
gen/hesiod.pc
gen/hosts.pc
gen/mailhub.pc
gen/moddiff.pc [deleted file]
gen/network.pc
gen/nfs.pc
gen/pobox.pc
gen/postoffice.pc
gen/util.c
gen/warehouse.pc
gen/www.pc

index f5dde8c3911ffc09c8cafd90b60561518ebe97b2..d49828fc4f1bd1349d553ed8bab482eba102dd39 100644 (file)
@@ -26,8 +26,8 @@ SRCTOP=@top_srcdir@
 BUILDTOP=..
 mrbindir=@mrbindir@
 
-LIB_OBJS=util.o moddiff.o tar.o genacl.o
-LIB_CFILES=moddiff.c genacl.c
+LIB_OBJS=util.o tar.o genacl.o
+LIB_CFILES=genacl.c
 LIB_TARGET=libdcm.a
 
 OBJS=  acl.o boot.o dhcp.o directory.o hesiod.o hosts.o mailhub.o \
index d79804db5181727f3d86d0e2f4e9c59ba49fd2e2..75e6aafd08bcb0905d6eca81678fdf01c227d44b 100644 (file)
@@ -29,8 +29,6 @@ int main(int argc, char **argv)
 {
   FILE *out = stdout;
   char *outf = NULL, outft[MAXPATHLEN];
-  struct stat sb;
-  int flag;
   EXEC SQL BEGIN DECLARE SECTION;
   char login[USERS_LOGIN_SIZE], last_name[USERS_LAST_SIZE];
   char first_name[USERS_FIRST_SIZE], middle_name[USERS_MIDDLE_SIZE];
@@ -44,17 +42,6 @@ int main(int argc, char **argv)
 
   if (argc == 2)
     {
-      if (stat(argv[1], &sb) == 0)
-       {
-         if (ModDiff (&flag, "users", sb.st_mtime))
-           exit(MR_DATE);
-         if (flag < 0)
-           {
-             fprintf(stderr, "File %s does not need to be rebuilt.\n",
-                     argv[1]);
-             exit(MR_NO_CHANGE);
-           }
-       }
       outf = argv[1];
       sprintf(outft, "%s~", outf);
       if (!(out = fopen(outft, "w")))
index 6be3bb7ece0aec0452596f3a3d01dc80f1a5189a..ec3cf1fbe53c1f4b4de19e2f80c6dfa3b80668bc 100644 (file)
@@ -195,8 +195,6 @@ int do_passwd(void)
   FILE *pout, *uout, *bout;
   char poutf[MAXPATHLEN], uoutf[MAXPATHLEN], poutft[MAXPATHLEN];
   char uoutft[MAXPATHLEN], boutf[MAXPATHLEN], boutft[MAXPATHLEN];
-  struct stat psb, usb, bsb;
-  time_t ftime;
   struct user *u;
   char *mach;
   EXEC SQL BEGIN DECLARE SECTION;
@@ -204,28 +202,13 @@ int do_passwd(void)
   char fullname[USERS_FULLNAME_SIZE], oa[USERS_OFFICE_ADDR_SIZE];
   char op[USERS_OFFICE_PHONE_SIZE], hp[USERS_HOME_PHONE_SIZE];
   char nn[USERS_NICKNAME_SIZE];
-  int uid, flag1, flag2, id, pid, iid, mid, status;
+  int uid, id, pid, iid, mid, status;
   EXEC SQL END DECLARE SECTION;
 
   sprintf(poutf, "%s/passwd.db", hesiod_dir);
   sprintf(uoutf, "%s/uid.db", hesiod_dir);
   sprintf(boutf, "%s/pobox.db", hesiod_dir);
 
-  if (stat(poutf, &psb) == 0 && stat(uoutf, &usb) == 0 &&
-      stat(boutf, &bsb) == 0)
-    {
-      ftime = min(min(psb.st_mtime, usb.st_mtime), bsb.st_mtime);
-      if (ModDiff (&flag1, "users", ftime) ||
-         ModDiff (&flag2, "machine", ftime))
-       exit(MR_DATE);
-      if (flag1 < 0 && flag2 < 0)
-       {
-         fprintf(stderr, "Files passwd.db, uid.db, and pobox.db "
-                 "do not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-
   sprintf(poutft, "%s~", poutf);
   pout = fopen(poutft, "w");
   if (!pout)
@@ -324,11 +307,9 @@ int do_groups(void)
   struct bucket *b, **p;
   struct grp *g;
   struct user *u;
-  struct stat isb, gsb, lsb;
-  time_t ftime;
   EXEC SQL BEGIN DECLARE SECTION;
   char name[LIST_NAME_SIZE];
-  int gid, id, lid, flag1, flag2, flag3, len;
+  int gid, id, lid, len;
   EXEC SQL END DECLARE SECTION;
 
   /* open files */
@@ -336,22 +317,6 @@ int do_groups(void)
   sprintf(goutf, "%s/group.db", hesiod_dir);
   sprintf(loutf, "%s/grplist.db", hesiod_dir);
 
-  if (stat(ioutf, &isb) == 0 && stat(goutf, &gsb) == 0 &&
-      stat(loutf, &lsb) == 0)
-    {
-      ftime = min(isb.st_mtime, min(gsb.st_mtime, lsb.st_mtime));
-      if (ModDiff (&flag1, "users", ftime) ||
-         ModDiff (&flag2, "list", ftime) ||
-         ModDiff (&flag3, "imembers", ftime))
-       exit(MR_DATE);
-      if (flag1 < 0 && flag2 < 0 && flag3 < 0)
-       {
-         fprintf(stderr, "Files gid.db, group.db and grplist.db "
-                 "do not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-
   sprintf(buf, "%s~", ioutf);
   iout = fopen(buf, "w");
   if (!iout)
@@ -504,8 +469,6 @@ int do_filsys(void)
 {
   FILE *out;
   char outf[MAXPATHLEN], outft[MAXPATHLEN], *mach, *group;
-  struct stat sb;
-  time_t ftime;
   struct save_queue *sq, *sq2;
   EXEC SQL BEGIN DECLARE SECTION;
   char name[FILESYS_LABEL_SIZE], type[FILESYS_TYPE_SIZE];
@@ -513,31 +476,11 @@ int do_filsys(void)
   char mount[FILESYS_MOUNT_SIZE], comments[FILESYS_COMMENTS_SIZE];
   char key[FSGROUP_KEY_SIZE];
   char aname[ALIAS_NAME_SIZE], trans[ALIAS_TRANS_SIZE];
-  int flag1, flag2, flag3, flag4, id, fid;
+  int flag, id, fid;
   EXEC SQL END DECLARE SECTION;
 
   sprintf(outf, "%s/filsys.db", hesiod_dir);
 
-  if (stat(outf, &sb) == 0)
-    {
-      ftime = sb.st_mtime;
-
-      if (ModDiff(&flag1, "filesys", ftime))
-       exit(MR_DATE);
-      if (ModDiff(&flag2, "machine", ftime))
-       exit(MR_DATE);
-      if (ModDiff(&flag3, "alias", ftime))
-       exit(MR_DATE);
-      if (ModDiff(&flag4, "fsgroup", ftime))
-       exit(MR_DATE);
-
-      if (flag1 < 0 && flag2 < 0 && flag3 < 0 && flag4 < 0)
-       {
-         fprintf(stderr, "File filsys.db does not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-
   sprintf(outft, "%s~", outf);
   out = fopen(outft, "w");
   if (!out)
@@ -613,7 +556,7 @@ int do_filsys(void)
        WHERE f.filsys_id = g.filsys_id AND g.group_id = :fid
        ORDER BY key, label;
       EXEC SQL OPEN f_cursor2;
-      for (flag1 = 1; ; flag1++)
+      for (flag = 1; ; flag++)
        {
          EXEC SQL FETCH f_cursor2 INTO :type, :loc, :id, :access, :mount,
            :comments, :name, :key;
@@ -626,14 +569,14 @@ int do_filsys(void)
                {
                  fprintf(out, "%s.filsys\t%s %s \"%s %s %s %s %s %d\"\n",
                          group, HCLASS, HTYPE, type, strtrim(loc), mach,
-                         strtrim(access), strtrim(mount), flag1);
+                         strtrim(access), strtrim(mount), flag);
                }
            }
          else if (!strcmp(type, "AFS"))
            {
              fprintf(out, "%s.filsys\t%s %s \"AFS %s %s %s %d\"\n",
                      group, HCLASS, HTYPE, strtrim(loc), strtrim(access),
-                     strtrim(mount), flag1);
+                     strtrim(mount), flag);
            }
          else if (!strcmp(type, "ERR"))
            {
@@ -721,10 +664,8 @@ int do_cluster(void)
   FILE *out;
   char outf[MAXPATHLEN], outft[MAXPATHLEN], *mach;
   char machbuf[MACHINE_NAME_SIZE], clubuf[CLUSTERS_NAME_SIZE], *p;
-  struct stat sb;
-  time_t ftime;
   EXEC SQL BEGIN DECLARE SECTION;
-  int flag1, flag2, flag3, flag4, maxmach, maxclu, mid, cid, id;
+  int maxmach, maxclu, mid, cid, id;
   char name[CLUSTERS_NAME_SIZE];
   char label[SVC_SERV_LABEL_SIZE], data[SVC_SERV_CLUSTER_SIZE];
   EXEC SQL END DECLARE SECTION;
@@ -732,21 +673,6 @@ int do_cluster(void)
 
   sprintf(outf, "%s/cluster.db", hesiod_dir);
 
-  if (stat(outf, &sb) == 0)
-    {
-      ftime = sb.st_mtime;
-      if (ModDiff (&flag1, "clusters", ftime)
-         || ModDiff (&flag2, "machine", ftime)
-         || ModDiff (&flag3, "mcmap", ftime)
-         || ModDiff (&flag4, "svc", ftime))
-       exit(MR_DATE);
-      if (flag1 < 0 && flag2 < 0 && flag3 < 0 && flag4 < 0)
-       {
-         fprintf(stderr, "File cluster.db does not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-
   sprintf(outft, "%s~", outf);
   out = fopen(outft, "w");
   if (!out)
@@ -906,32 +832,16 @@ int do_printcap(void)
 {
   FILE *out;
   char outf[MAXPATHLEN], outft[MAXPATHLEN];
-  struct stat sb;
-  time_t ftime;
   EXEC SQL BEGIN DECLARE SECTION;
   char name[PRINTERS_NAME_SIZE], duplexname[PRINTERS_DUPLEXNAME_SIZE];
   char rp[PRINTERS_RP_SIZE], type[PRINTERS_TYPE_SIZE];
   char duplexrp[PRINTERS_RP_SIZE], pskind[PRINTSERVERS_KIND_SIZE];
-  int flag1, flag2, ka, rm, mc;
+  int ka, rm, mc;
   EXEC SQL END DECLARE SECTION;
   char *rmname;
 
   sprintf(outf, "%s/printcap.db", hesiod_dir);
 
-  if (stat(outf, &sb) == 0)
-    {
-      ftime = sb.st_mtime;
-      if (ModDiff (&flag1, "printers", ftime)
-         || ModDiff (&flag2, "printservers", ftime)
-         || ModDiff (&flag2, "machine", ftime))
-       exit(MR_DATE);
-      if (flag1 < 0 && flag2 < 0)
-       {
-         fprintf(stderr, "File printcap.db does not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-
   sprintf(outft, "%s~", outf);
   out = fopen(outft, "w");
   if (!out)
@@ -1024,28 +934,13 @@ int do_sloc(void)
 {
   FILE *out;
   char outf[MAXPATHLEN], outft[MAXPATHLEN], *mach;
-  struct stat sb;
-  time_t ftime;
   EXEC SQL BEGIN DECLARE SECTION;
   char service[SERVERHOSTS_SERVICE_SIZE];
-  int flag1, flag2, id;
+  int id;
   EXEC SQL END DECLARE SECTION;
 
   sprintf(outf, "%s/sloc.db", hesiod_dir);
 
-  if (stat(outf, &sb) == 0)
-    {
-      ftime = sb.st_mtime;
-      if ((ModDiff (&flag1, "serverhosts", ftime)) ||
-         (ModDiff (&flag2, "machine", ftime)))
-       exit(MR_DATE);
-      if (flag1 < 0 && flag2 < 0)
-       {
-         fprintf(stderr, "File sloc.db does not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-
   sprintf(outft, "%s~", outf);
   out = fopen(outft, "w");
   if (!out)
@@ -1092,28 +987,14 @@ int do_service(void)
 {
   FILE *out;
   char outf[MAXPATHLEN], outft[MAXPATHLEN];
-  struct stat sb;
-  time_t ftime;
   EXEC SQL BEGIN DECLARE SECTION;
   char service[SERVICES_NAME_SIZE], protocol[SERVICES_PROTOCOL_SIZE];
   char aname[ALIAS_NAME_SIZE], trans[ALIAS_TRANS_SIZE];
-  int port, flag1;
+  int port;
   EXEC SQL END DECLARE SECTION;
 
   sprintf(outf, "%s/service.db", hesiod_dir);
 
-  if (stat(outf, &sb) == 0)
-    {
-      ftime = sb.st_mtime;
-      if (ModDiff (&flag1, "services", ftime))
-       exit(MR_DATE);
-      if (flag1 < 0)
-       {
-         fprintf(stderr, "File service.db does not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-
   sprintf(outft, "%s~", outf);
   out = fopen(outft, "w");
   if (!out)
index 48746700b4f628b4e93d7556e4665a39f469b967..62174d17f1dfb0e848f1b1a2de2fc43c7519b8cc 100644 (file)
@@ -33,9 +33,8 @@ int main(int argc, char **argv)
 {
   FILE *out = stdout;
   char *outf = NULL, outft[MAXPATHLEN], *p;
-  struct stat sb;
   struct timeval now;
-  int flag1, flag2, i;
+  int i;
   struct hash *aliases;
   EXEC SQL BEGIN DECLARE SECTION;
   int id;
@@ -48,18 +47,6 @@ int main(int argc, char **argv)
 
   if (argc == 2)
     {
-      if (stat(argv[1], &sb) == 0)
-       {
-         if (ModDiff(&flag1, "machine", sb.st_mtime) ||
-             ModDiff(&flag2, "subnet", sb.st_mtime))
-           exit(MR_DATE);
-         if (flag1 < 0 && flag2 < 0)
-           {
-             fprintf(stderr, "File %s does not need to be rebuilt.\n",
-                     argv[1]);
-             exit(MR_NO_CHANGE);
-           }
-       }
       outf = argv[1];
       sprintf(outft, "%s~", outf);
       if (!(out = fopen(outft, "w")))
index 560c232e80a3f6b0908b7743af9e13d6f953a813..c7a66b71b0a64ec7b4f1acb4b8cefda37f86f0fa 100644 (file)
@@ -67,8 +67,6 @@ int main(int argc, char **argv)
 {
   time_t tm = time(NULL);
   char filename[MAXPATHLEN], *targetfile;
-  struct stat sb;
-  int flag1, flag2;
   FILE *out = stdout;
 
   srand(tm);
@@ -76,18 +74,6 @@ int main(int argc, char **argv)
 
   if (argc == 2)
     {
-      if (stat(argv[1], &sb) == 0)
-       {
-         if (ModDiff(&flag1, "users", sb.st_mtime) ||
-             ModDiff(&flag2, "list", sb.st_mtime))
-           exit(MR_DATE);
-         if (flag1 < 0 && flag2 < 0)
-           {
-             fprintf(stderr, "File %s does not need to be rebuilt.\n",
-                     argv[1]);
-             exit(MR_NO_CHANGE);
-           }
-       }
       targetfile = argv[1];
       sprintf(filename, "%s~", targetfile);
       if (!(out = fopen(filename, "w")))
diff --git a/gen/moddiff.pc b/gen/moddiff.pc
deleted file mode 100644 (file)
index c80a0a2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* $Id$
- *
- * Copyright (C) 1990-1998 by the Massachusetts Institute of Technology.
- * For copying and distribution information, please see the file
- * <mit-copyright.h>.
- */
-
-#include <mit-copyright.h>
-#include <moira.h>
-
-#include <sys/types.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "util.h"
-
-EXEC SQL INCLUDE sqlca;
-
-/* Julian day of the UNIX epoch (January 1, 1970) */
-#define UNIX_EPOCH 2440588
-
-/****************************************************************/
-/**  Return the difference between the modtime & table modtime **/
-/**  in flag variable.  Return 0 if success, else errno.       **/
-/****************************************************************/
-
-int ModDiff(int *flag, char *tbl, time_t ModTime)
-{
-  time_t filetimeno;
-  EXEC SQL BEGIN DECLARE SECTION;
-  char filetime[48], *tbl_name, *unixtime_fmt = UNIXTIME_FMT;
-  EXEC SQL END DECLARE SECTION;
-
-  *flag = 0;
-  tbl_name = tbl;
-  /* Get modtime as Julian day, hours, minutes, and seconds */
-  EXEC SQL SELECT TO_CHAR(modtime, :unixtime_fmt)
-    INTO :filetime FROM tblstats
-    WHERE table_name = :tbl_name;
-  if (sqlca.sqlcode)
-    {
-      fprintf(stderr, "Moddiff Query failed: %ld\n", sqlca.sqlcode);
-      return MR_DATE;
-    }
-
-  *flag = (int) (unixtime(filetime) - ModTime);
-  return 0;
-}
-
-time_t unixtime(char *timestring)
-{
-  time_t t;
-
-  t = strtol(timestring, &timestring, 10) - UNIX_EPOCH;
-  t = t * 24 + strtol(timestring, &timestring, 10);
-  t = t * 60 + strtol(timestring, &timestring, 10);
-  t = t * 60 + strtol(timestring, &timestring, 10);
-
-  return t;
-}
index 4fc586aa68591e46deb8c8393d3c69c0e2e909c1..f649a570e48082d2f7f6f2faaf594f9031e5afed 100644 (file)
@@ -31,10 +31,8 @@ int main(int argc, char **argv)
 {
   FILE *out = stdout;
   char *outf = NULL, outft[MAXPATHLEN];
-  struct stat sb;
   struct timeval now;
   struct in_addr addr;
-  int flag1;
   EXEC SQL BEGIN DECLARE SECTION;
   int id, saddr;
   char name[SUBNET_NAME_SIZE], description[SUBNET_DESCRIPTION_SIZE];
@@ -44,17 +42,6 @@ int main(int argc, char **argv)
 
   if (argc == 2)
     {
-      if (stat(argv[1], &sb) == 0)
-       {
-         if (ModDiff(&flag1, "subnet", sb.st_mtime))
-           exit(MR_DATE);
-         if (flag1 < 0)
-           {
-             fprintf(stderr, "File %s does not need to be rebuilt.\n",
-                     argv[1]);
-             exit(MR_NO_CHANGE);
-           }
-       }
       outf = argv[1];
       sprintf(outft, "%s~", outf);
       if (!(out = fopen(outft, "w")))
index b168904f4f04f3d70ca97356f2efb137e5530132..6245ac294145b23d491f75b7c543862ed07657e9 100644 (file)
@@ -135,21 +135,6 @@ int do_lists(struct save_queue *lists)
   EXEC SQL END DECLARE SECTION;
 
   sprintf(file, "%s/list-", nfs_dir);
-#if 0
-  if (stat(file, &sb) == 0)
-    {
-      if ((ModDiff (&flag1, "users", sb.st_mtime)) ||
-         (ModDiff (&flag2, "list", sb.st_mtime)) ||
-         (ModDiff (&flag3, "imembers", sb.st_mtime)) ||
-         (ModDiff (&flag4, "serverhosts", sb.st_mtime)))
-       exit(MR_DATE);
-      if (flag1 < 0 && flag2 < 0 && flag3 < 0 && flag4 < 0)
-       {
-         fprintf(stderr, "The lists do not need to be rebuilt.\n");
-         return 0;
-       }
-    }
-#endif
 
   /* build the list of everyone, and store it in a file whose name
    * corresponds to the empty list.
index 7c14c7121da43e7e982eada5813c4fa613c1ce24..78bf157b8e763d1ea6e993d1ed6babcc9b90774c 100644 (file)
@@ -30,8 +30,7 @@ int main(int argc, char **argv)
 {
   FILE *out = stdout;
   char *outf = NULL, outft[MAXPATHLEN];
-  struct stat sb;
-  int flag, i;
+  int i;
   EXEC SQL BEGIN DECLARE SECTION;
   char login[USERS_LOGIN_SIZE], id[USERS_CLEARID_SIZE];
   char string[STRINGS_STRING_SIZE];
@@ -41,17 +40,6 @@ int main(int argc, char **argv)
 
   if (argc == 2)
     {
-      if (stat(argv[1], &sb) == 0)
-       {
-         if (ModDiff(&flag, "users", sb.st_mtime))
-           exit(MR_DATE);
-         if (flag < 0)
-           {
-             fprintf(stderr, "File %s does not need to be rebuilt.\n",
-                     argv[1]);
-             exit(MR_NO_CHANGE);
-           }
-       }
       outf = argv[1];
       sprintf(outft, "%s~", outf);
       if (!(out = fopen(outft, "w")))
index 091e0645457046fc610435261dabb0f6267abd86..0a1fa20b8649918ed41cd6ab3d43f7c45e04f8eb 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))
index 9e8f2a91e0d496e0a9b2d133d21e17298f020f0a..d56ea3b23663c3a1a15af743d32907e7e5fcecef 100644 (file)
@@ -18,6 +18,9 @@
 
 RCSID("$Header$");
 
+/* Julian day of the UNIX epoch (January 1, 1970) */
+#define UNIX_EPOCH 2440588
+
 extern void sqlglm(char buf[], int *, int *);
 
 void fix_file(char *targetfile)
@@ -68,6 +71,17 @@ char *dequote(char *s)
   return s;
 }
 
+time_t unixtime(char *timestring)
+{
+  time_t t;
+
+  t = strtol(timestring, &timestring, 10) - UNIX_EPOCH;
+  t = t * 24 + strtol(timestring, &timestring, 10);
+  t = t * 60 + strtol(timestring, &timestring, 10);
+  t = t * 60 + strtol(timestring, &timestring, 10);
+
+  return t;
+}
 
 void db_error(int code)
 {
index 6c1e48c8b88d79fa36edfdfe0ce244e661db0418..b08f3a8a46163c23f8518233a59b2f40669b30b8 100644 (file)
@@ -45,8 +45,6 @@ int main(int argc, char **argv)
   char *outf = NULL, outft[MAXPATHLEN];
   char control_fn[MAXPATHLEN], cmd[256];
   FILE *f;
-  struct stat sb;
-  int flag1;
   int records = 0;
   EXEC SQL BEGIN DECLARE SECTION;
   char login[USERS_LOGIN_SIZE];
@@ -72,15 +70,6 @@ int main(int argc, char **argv)
 
   if (argc == 2)
     {
-      if (stat(argv[1], &sb) == 0)
-       {
-         if (ModDiff(&flag1, "users", sb.st_mtime) == 0 && flag1 < 0)
-           {
-             fprintf(stderr, "File %s does not need to be rebuilt.\n",
-                     argv[1]);
-             exit(MR_NO_CHANGE);
-           }
-       }
       outf = argv[1];
       sprintf(outft, "%s/username_id.map", warehouse_dir);
       if ((out = open(outft, O_WRONLY|O_APPEND|O_CREAT|O_TRUNC, 0666)) < 0)
index bdd36f3fbea943578aed33b74486b2df8490cbe5..0844929a2fe4f31e46a7544fb317117fdf379442 100644 (file)
@@ -55,7 +55,6 @@ int main(int argc, char **argv)
   FILE *outfsf;
   struct stat sb;
   char *c;
-  int flag;
 
   initialize_sms_error_table();
 
@@ -106,61 +105,38 @@ int main(int argc, char **argv)
   sprintf(wkgrp, "%s/group~", www_dir);
   sprintf(wkfs, "%s/filsys~", www_dir);
 
-  flag = 0;
-  if (stat(outfs, &sb) == 0)
+  fprintf(stderr, "%s: building fs database...\n", whoami);
+  if (!(outfsf = fopen(wkfs, "w")))
     {
-      if (ModDiff (&flag, "filesys", sb.st_mtime))
-        exit(MR_DATE);
+      fprintf(stderr, "%s: cannot open %s for writing (%s)\n", whoami,
+             wkfs, strerror(errno));
+      exit(MR_OCONFIG);
     }
-  if (flag < 0)
-    fprintf(stderr, "%s: %s does not need to be rebuilt.\n", whoami, outfs);
-  else
+  filsys(outfsf);
+  if (fclose(outfsf))
     {
-      fprintf(stderr, "%s: building fs database...\n", whoami);
-      if (!(outfsf = fopen(wkfs, "w")))
-       {
-         fprintf(stderr, "%s: cannot open %s for writing (%s)\n", whoami,
-                 wkfs, strerror(errno));
-         exit(MR_OCONFIG);
-       }
-      filsys(outfsf);
-      if (fclose(outfsf))
-       {
-         fprintf(stderr, "%s: close of %s failed (%s)", whoami,
-                 wkfs, strerror(errno));
-         exit(MR_CCONFIG);
-       }
-      fix_file(outfs);
+      fprintf(stderr, "%s: close of %s failed (%s)", whoami,
+             wkfs, strerror(errno));
+      exit(MR_CCONFIG);
     }
+  fix_file(outfs);
 
-  flag = 0;
-  if (stat(outgrp, &sb) == 0)
+  fprintf(stderr, "%s: building group database...\n", whoami);
+  if (!(outgrpf = fopen(wkgrp, "w")))
     {
-      if (ModDiff (&flag, "list", sb.st_mtime) ||
-         ModDiff (&flag, "users", sb.st_mtime))
-        exit(MR_DATE);
+      fprintf(stderr, "%s: cannot open %s for writing (%s)\n", whoami,
+             wkgrp, strerror(errno));
+      exit(MR_OCONFIG);
     }
-  if (flag < 0)
-    fprintf(stderr, "%s: %s does not need to be rebuilt.\n", whoami, outgrp);
-  else
+  group(outgrpf);
+  if (fclose(outgrpf))
     {
-      fprintf(stderr, "%s: building group database...\n", whoami);
-      if (!(outgrpf = fopen(wkgrp, "w")))
-       {
-         fprintf(stderr, "%s: cannot open %s for writing (%s)\n", whoami,
-                 wkgrp, strerror(errno));
-         exit(MR_OCONFIG);
-       }
-      group(outgrpf);
-      if (fclose(outgrpf))
-       {
-         fprintf(stderr, "%s: close of %s failed (%s)", whoami, wkgrp,
-                 strerror(errno));
-         exit(MR_CCONFIG);
-       }
-      fix_file(outgrp);
+      fprintf(stderr, "%s: close of %s failed (%s)", whoami, wkgrp,
+             strerror(errno));
+      exit(MR_CCONFIG);
     }
-
+  fix_file(outgrp);
+  
   fprintf(stderr, "%s: building tar file...\n", whoami);
   sprintf(cmd, "(cd %s; tar cf - . ) > %s.out", www_dir, www_dir);
   if (system(cmd))
This page took 0.077564 seconds and 5 git commands to generate.