X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Ftrav.c;h=b9268412a526e99c871dd80b85a95775ee4dc8b9;hb=9a677b99c57aed3fa62f6737c4b8fd5bf2114d8b;hp=6894ca571df4552c64395c8b0caf2596225e662c;hpb=5a47fb16ab0fc9574660a0ed04151f359c826cbf;p=idzebra-moved-to-github.git diff --git a/index/trav.c b/index/trav.c index 6894ca5..b926841 100644 --- a/index/trav.c +++ b/index/trav.c @@ -4,7 +4,16 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: trav.c,v $ - * Revision 1.18 1996-03-19 12:43:27 adam + * Revision 1.21 1996-03-22 15:34:18 quinn + * Fixed bad reference + * + * 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 +89,7 @@ #include #include #include +#include #include #include "index.h" @@ -190,9 +200,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 +248,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->mtime)); + logf (LOG_LOG, "new: %s", ctime (&e_src[i_src].mtime)); } dst = dirs_read (di); break; @@ -268,7 +279,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);