Commit ff37b2dc authored by Joe Orton's avatar Joe Orton
Browse files

* modules/dav/fs/repos.c (DAV_FINFO_MASK): Define macro.

  (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
parent 342df521
Loading
Loading
Loading
Loading
+11 −1
Changes for modules/dav/fs/repos.c: 11 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -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 */