/*
- * Copyright (C) 1994-1995, Index Data I/S
+ * Copyright (C) 1994-1996, Index Data I/S
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: dir.c,v $
- * Revision 1.12 1996-02-05 12:29:55 adam
+ * Revision 1.18 1997-09-25 14:55:33 adam
+ * Windows port uses stat and not lstat.
+ *
+ * Revision 1.17 1997/09/09 13:38:06 adam
+ * Partial port to WIN95/NT.
+ *
+ * Revision 1.16 1996/10/29 14:06:45 adam
+ * Include zebrautl.h instead of alexutil.h.
+ *
+ * Revision 1.15 1996/06/04 10:18:58 adam
+ * Minor changes - removed include of ctype.h.
+ *
+ * Revision 1.14 1996/04/09 06:49:18 adam
+ * Traversal of directories doesn't follow symbolic links.
+ *
+ * Revision 1.13 1996/03/21 14:50:08 adam
+ * File update uses modify-time instead of change-time.
+ *
+ * Revision 1.12 1996/02/05 12:29:55 adam
* Logging reduced a bit.
* The remaining running time is estimated during register merge.
*
#include <stdio.h>
#include <string.h>
#include <assert.h>
+#ifndef WINDOWS
#include <unistd.h>
-#include <dirent.h>
+#endif
+#include <direntz.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <errno.h>
#include <fcntl.h>
-#include <ctype.h>
-#include <alexutil.h>
#include "index.h"
struct dir_entry *dir_open (const char *rep)
entry = entry_n;
}
strcpy (path + pathpos, dent->d_name);
+#ifdef WINDOWS
stat (path, &finfo);
+#else
+ lstat (path, &finfo);
+#endif
switch (finfo.st_mode & S_IFMT)
{
case S_IFREG:
entry[idx].kind = dirs_file;
- entry[idx].ctime = finfo.st_ctime;
+ entry[idx].mtime = finfo.st_mtime;
entry[idx].name = xmalloc (strlen(dent->d_name)+1);
strcpy (entry[idx].name, dent->d_name);
idx++;
break;
case S_IFDIR:
entry[idx].kind = dirs_dir;
- entry[idx].ctime = finfo.st_ctime;
+ entry[idx].mtime = finfo.st_mtime;
entry[idx].name = xmalloc (strlen(dent->d_name)+2);
strcpy (entry[idx].name, dent->d_name);
strcat (entry[idx].name, "/");