aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.cc12
2 files changed, 11 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 776eadf..6df79ce 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2003-09-10 Alan Modra <amodra@bigpond.net.au>
+
+ * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
+ rather than or'ing.
+
2003-09-09 Alan Modra <amodra@bigpond.net.au>
* configure: Regenerate.
diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc
index 5a3921c..5791135 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.cc
+++ b/libstdc++-v3/config/io/basic_file_stdio.cc
@@ -87,33 +87,33 @@ namespace std
if (!__testi && __testo && !__testt && !__testa)
{
strcpy(__c_mode, "w");
- __p_mode = (O_WRONLY | O_CREAT);
+ __p_mode = O_WRONLY | O_CREAT;
}
if (!__testi && __testo && !__testt && __testa)
{
strcpy(__c_mode, "a");
- __p_mode |= O_WRONLY | O_CREAT | O_APPEND;
+ __p_mode = O_WRONLY | O_CREAT | O_APPEND;
}
if (!__testi && __testo && __testt && !__testa)
{
strcpy(__c_mode, "w");
- __p_mode |= O_WRONLY | O_CREAT | O_TRUNC;
+ __p_mode = O_WRONLY | O_CREAT | O_TRUNC;
}
if (__testi && !__testo && !__testt && !__testa)
{
strcpy(__c_mode, "r");
- __p_mode |= O_RDONLY;
+ __p_mode = O_RDONLY;
}
if (__testi && __testo && !__testt && !__testa)
{
strcpy(__c_mode, "r+");
- __p_mode |= O_RDWR | O_CREAT;
+ __p_mode = O_RDWR | O_CREAT;
}
if (__testi && __testo && __testt && !__testa)
{
strcpy(__c_mode, "w+");
- __p_mode |= O_RDWR | O_CREAT | O_TRUNC;
+ __p_mode = O_RDWR | O_CREAT | O_TRUNC;
}
if (__testb)
strcat(__c_mode, "b");