diff options
author | bjh <bjh@13f79535-47bb-0310-9956-ffa450edef68> | 2005-07-04 09:29:48 +0000 |
---|---|---|
committer | bjh <bjh@13f79535-47bb-0310-9956-ffa450edef68> | 2005-07-04 09:29:48 +0000 |
commit | 44c3b28bdcbc02e6172792c7cbc5e9efb7b20bcc (patch) | |
tree | a2730644e8a4ce4dfa7a892f7e2fd2b12c35cacc | |
parent | 7b2bb1dc793b2211231ca6c6cb7d5c8c5b9f3f9d (diff) | |
download | libapr-44c3b28bdcbc02e6172792c7cbc5e9efb7b20bcc.tar.gz |
Bug #33844: OS/2: file opened with APR_CREATE would be truncated if APR_APPEND
wasn't also given.
Backport from trunk of r180013
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/0.9.x@209047 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | file_io/os2/open.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/file_io/os2/open.c b/file_io/os2/open.c index 6b28307f4..7f64db6b3 100644 --- a/file_io/os2/open.c +++ b/file_io/os2/open.c @@ -67,12 +67,10 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, const char *fname, apr } if (flag & APR_CREATE) { - oflags |= OPEN_ACTION_CREATE_IF_NEW; - if (!(flag & APR_EXCL)) { - if (flag & APR_APPEND) - oflags |= OPEN_ACTION_OPEN_IF_EXISTS; - else - oflags |= OPEN_ACTION_REPLACE_IF_EXISTS; + oflags |= OPEN_ACTION_CREATE_IF_NEW; + + if (!(flag & APR_EXCL) && !(flag & APR_TRUNCATE)) { + oflags |= OPEN_ACTION_OPEN_IF_EXISTS; } } |