summaryrefslogtreecommitdiff
path: root/file_io/os2/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'file_io/os2/dir.c')
-rw-r--r--file_io/os2/dir.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/file_io/os2/dir.c b/file_io/os2/dir.c
index f1554b6f3..d1a0072cc 100644
--- a/file_io/os2/dir.c
+++ b/file_io/os2/dir.c
@@ -79,24 +79,28 @@ APR_DECLARE(apr_status_t) apr_dir_close(apr_dir_t *thedir)
return APR_FROM_OS_ERROR(rv);
}
-
-
APR_DECLARE(apr_status_t) apr_dir_read(apr_finfo_t *finfo, apr_int32_t wanted,
apr_dir_t *thedir)
{
+ return apr_dir_pread(finfo, wanted, thedir, thedir->pool);
+}
+
+APR_DECLARE(apr_status_t) apr_dir_pread(apr_finfo_t *finfo, apr_int32_t wanted,
+ apr_dir_t *thedir, apr_pool_t *pool)
+{
int rv;
ULONG entries = 1;
if (thedir->handle == 0) {
thedir->handle = HDIR_CREATE;
- rv = DosFindFirst(apr_pstrcat(thedir->pool, thedir->dirname, "/*", NULL), &thedir->handle,
+ rv = DosFindFirst(apr_pstrcat(pool, thedir->dirname, "/*", NULL), &thedir->handle,
FILE_ARCHIVED|FILE_DIRECTORY|FILE_SYSTEM|FILE_HIDDEN|FILE_READONLY,
&thedir->entry, sizeof(thedir->entry), &entries, FIL_STANDARD);
} else {
rv = DosFindNext(thedir->handle, &thedir->entry, sizeof(thedir->entry), &entries);
}
- finfo->pool = thedir->pool;
+ finfo->pool = pool;
finfo->fname = NULL;
finfo->valid = 0;