]> granicus.if.org Git - apache/commitdiff
* modules/dav/fs/repos.c (DAV_FINFO_MASK): Define macro.
authorJoe Orton <jorton@apache.org>
Tue, 12 Aug 2008 10:46:48 +0000 (10:46 +0000)
committerJoe Orton <jorton@apache.org>
Tue, 12 Aug 2008 10:46:48 +0000 (10:46 +0000)
  (dav_fs_walker): Use DAV_FINFO_MASK when stat'ing the
  directory member during the walk.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@685112 13f79535-47bb-0310-9956-ffa450edef68

modules/dav/fs/repos.c

index 48d481a30ad97faf8887d914ce23192d933bc92a..8364ab686d1b538c36c95ba682a977dcb140f58a 100644 (file)
@@ -119,9 +119,19 @@ enum {
 ** Does this platform support an executable flag?
 **
 ** ### need a way to portably abstract this query
+**
+** DAV_FINFO_MASK gives the appropriate mask to use for the stat call
+** used to get file attributes.
 */
 #ifndef WIN32
 #define DAV_FS_HAS_EXECUTABLE
+#define DAV_FINFO_MASK (APR_FINFO_LINK | APR_FINFO_TYPE | APR_FINFO_INODE | \
+                        APR_FINFO_SIZE | APR_FINFO_CTIME | APR_FINFO_MTIME | \
+                        APR_FINFO_PROT)
+#else
+/* as above, but without APR_FINFO_PROT */
+#define DAV_FINFO_MASK (APR_FINFO_LINK | APR_FINFO_TYPE | APR_FINFO_INODE | \
+                        APR_FINFO_SIZE | APR_FINFO_CTIME | APR_FINFO_MTIME)
 #endif
 
 /*
@@ -1476,7 +1486,7 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
         dav_buffer_place_mem(pool, &fsctx->path1, dirent.name, len + 1, 0);
 
         status = apr_stat(&fsctx->info1.finfo, fsctx->path1.buf,
-                          APR_FINFO_TYPE | APR_FINFO_LINK, pool);
+                          DAV_FINFO_MASK, pool);
         if (status != APR_SUCCESS && status != APR_INCOMPLETE) {
             /* woah! where'd it go? */
             /* ### should have a better error here */