diff options
Diffstat (limited to 'file_io')
-rw-r--r-- | file_io/unix/fileacc.c | 5 | ||||
-rw-r--r-- | file_io/unix/filedup.c | 1 | ||||
-rw-r--r-- | file_io/unix/open.c | 2 | ||||
-rw-r--r-- | file_io/win32/filedup.c | 1 | ||||
-rw-r--r-- | file_io/win32/open.c | 1 |
5 files changed, 9 insertions, 1 deletions
diff --git a/file_io/unix/fileacc.c b/file_io/unix/fileacc.c index 6addcf9af..0a6dfcd7d 100644 --- a/file_io/unix/fileacc.c +++ b/file_io/unix/fileacc.c @@ -64,6 +64,11 @@ APR_DECLARE(apr_status_t) apr_file_name_get(const char **fname, return APR_SUCCESS; } +APR_DECLARE(apr_int32_t) apr_file_flags_get(apr_file_t *f) +{ + return f->flags; +} + #if !defined(OS2) && !defined(WIN32) mode_t apr_unix_perms2mode(apr_fileperms_t perms) { diff --git a/file_io/unix/filedup.c b/file_io/unix/filedup.c index 897429248..e7e6507d4 100644 --- a/file_io/unix/filedup.c +++ b/file_io/unix/filedup.c @@ -86,6 +86,7 @@ apr_status_t apr_file_dup(apr_file_t **new_file, apr_file_t *old_file, apr_pool_ (*new_file)->buffer = apr_palloc(p, APR_FILE_BUFSIZE); } (*new_file)->blocking = old_file->blocking; /* this is the way dup() works */ + (*new_file)->flags = old_file->flags; apr_pool_cleanup_register((*new_file)->cntxt, (void *)(*new_file), apr_unix_file_cleanup, apr_pool_cleanup_null); return APR_SUCCESS; diff --git a/file_io/unix/open.c b/file_io/unix/open.c index 87ee1b3a0..f3b9f9600 100644 --- a/file_io/unix/open.c +++ b/file_io/unix/open.c @@ -90,7 +90,7 @@ apr_status_t apr_file_open(apr_file_t **new, const char *fname, apr_int32_t flag (*new) = (apr_file_t *)apr_pcalloc(cont, sizeof(apr_file_t)); (*new)->cntxt = cont; - (*new)->oflags = oflags; + (*new)->flags = flag; (*new)->filedes = -1; if ((flag & APR_READ) && (flag & APR_WRITE)) { diff --git a/file_io/win32/filedup.c b/file_io/win32/filedup.c index e3e048ebe..e60eb1df6 100644 --- a/file_io/win32/filedup.c +++ b/file_io/win32/filedup.c @@ -103,6 +103,7 @@ APR_DECLARE(apr_status_t) apr_file_dup(apr_file_t **new_file, return APR_ENOTIMPL; } + (*new_file)->flags = old_file->flags; (*new_file)->cntxt = old_file->cntxt; (*new_file)->fname = apr_pstrdup(old_file->cntxt, old_file->fname); (*new_file)->append = old_file->append; diff --git a/file_io/win32/open.c b/file_io/win32/open.c index 92b21df15..8a3a8eb13 100644 --- a/file_io/win32/open.c +++ b/file_io/win32/open.c @@ -259,6 +259,7 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname, (*new)->cntxt = cont; (*new)->filehand = handle; (*new)->fname = apr_pstrdup(cont, fname); + (*new)->flags = flag; if (flag & APR_APPEND) { (*new)->append = 1; |