aboutsummaryrefslogtreecommitdiff
path: root/libbutl
diff options
context:
space:
mode:
Diffstat (limited to 'libbutl')
-rw-r--r--libbutl/fdstream.cxx44
1 files changed, 24 insertions, 20 deletions
diff --git a/libbutl/fdstream.cxx b/libbutl/fdstream.cxx
index 7d1e755..50056a2 100644
--- a/libbutl/fdstream.cxx
+++ b/libbutl/fdstream.cxx
@@ -791,15 +791,14 @@ namespace butl
ifdstream::
ifdstream (const char* f, fdopen_mode m, iostate e)
- : ifdstream (
- fdopen (f,
- // If fdopen_mode::in is not specified, then emulate the
- // ios::in semantics.
- //
- (m & fdopen_mode::in) == fdopen_mode::in
- ? m
- : m | translate_mode (in)),
- e)
+ : ifdstream (fdopen (f,
+ // If fdopen_mode::in is not specified, then
+ // emulate the ios::in semantics.
+ //
+ (m & fdopen_mode::in) == fdopen_mode::in
+ ? m
+ : m | translate_mode (in)),
+ e)
{
}
@@ -841,7 +840,10 @@ namespace butl
void ifdstream::
open (const char* f, fdopen_mode m)
{
- open (fdopen (f, m | fdopen_mode::in));
+ open (fdopen (f,
+ (m & fdopen_mode::in) == fdopen_mode::in
+ ? m
+ : m | translate_mode (in)));
}
void ifdstream::
@@ -900,15 +902,14 @@ namespace butl
ofdstream::
ofdstream (const char* f, fdopen_mode m, iostate e)
- : ofdstream (
- fdopen (f,
- // If fdopen_mode::out is not specified, then emulate the
- // ios::out semantics.
- //
- (m & fdopen_mode::out) == fdopen_mode::out
- ? m
- : m | translate_mode (out)),
- e)
+ : ofdstream (fdopen (f,
+ // If fdopen_mode::out is not specified, then
+ // emulate the ios::out semantics.
+ //
+ (m & fdopen_mode::out) == fdopen_mode::out
+ ? m
+ : m | translate_mode (out)),
+ e)
{
}
@@ -939,7 +940,10 @@ namespace butl
void ofdstream::
open (const char* f, fdopen_mode m)
{
- open (fdopen (f, m | fdopen_mode::out));
+ open (fdopen (f,
+ (m & fdopen_mode::out) == fdopen_mode::out
+ ? m
+ : m | translate_mode (out)));
}
// fd*() functions