File update uses modify-time instead of change-time.
[idzebra-moved-to-github.git] / index / trav.c
index 6894ca5..75d4101 100644 (file)
@@ -4,7 +4,13 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: trav.c,v $
- * Revision 1.18  1996-03-19 12:43:27  adam
+ * Revision 1.20  1996-03-21 14:50:10  adam
+ * File update uses modify-time instead of change-time.
+ *
+ * Revision 1.19  1996/03/20  16:16:55  quinn
+ * Added diagnostic output
+ *
+ * Revision 1.18  1996/03/19  12:43:27  adam
  * Bug fix: File update traversal didn't handle trailing slashes correctly.
  * Bug fix: Update of sub directory groups wasn't handled correctly.
  *
@@ -80,6 +86,7 @@
 #include <sys/types.h>
 #include <fcntl.h>
 #include <ctype.h>
+#include <time.h>
 
 #include <alexutil.h>
 #include "index.h"
@@ -190,9 +197,8 @@ static void fileUpdateR (struct dirs_info *di, struct dirs_entry *dst,
             src[++src_len] = '\0';
         }
         dirs_mkdir (di, src, 0);
-#if 0
-        dst = NULL;
-#endif
+        if (repComp (dst->path, src, src_len))
+            dst = NULL;
     }
     else if (!e_src)
     {
@@ -239,12 +245,14 @@ static void fileUpdateR (struct dirs_info *di, struct dirs_entry *dst,
             switch (e_src[i_src].kind)
             {
             case dirs_file:
-                if (e_src[i_src].ctime > dst->ctime)
+                if (e_src[i_src].mtime > dst->mtime)
                 {
                     if (fileExtract (&dst->sysno, tmppath, rGroup, 0))
                     {
-                        dirs_add (di, src, dst->sysno, e_src[i_src].ctime);
+                        dirs_add (di, src, dst->sysno, e_src[i_src].mtime);
                     }
+                   logf (LOG_LOG, "old: %s", ctime (&dst->ctime));
+                    logf (LOG_LOG, "new: %s", ctime (&e_src[i_src].ctime));
                 }
                 dst = dirs_read (di);
                 break;
@@ -268,7 +276,7 @@ static void fileUpdateR (struct dirs_info *di, struct dirs_entry *dst,
             {
             case dirs_file:
                 if (fileExtract (&sysno, tmppath, rGroup, 0))
-                    dirs_add (di, src, sysno, e_src[i_src].ctime);            
+                    dirs_add (di, src, sysno, e_src[i_src].mtime);            
                 break;
             case dirs_dir:
                 fileUpdateR (di, dst, base, src, rGroup);