diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/config/io/basic_file_stdio.cc | 12 |
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"); |