OSDN Git Service

2003-06-18 Nathan C. Myers <ncm-nospam@cantrip.org>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jun 2003 17:17:52 +0000 (17:17 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jun 2003 17:17:52 +0000 (17:17 +0000)
    Paolo Carlini  <pcarlini@unitus.it>

* include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
simply equivalent to the unbuffered case (0, 0) as far as
_M_buf_size is concerned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68160 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/fstream.tcc

index a6e67e7..a77f7ec 100644 (file)
@@ -1,3 +1,10 @@
+2003-06-18  Nathan C. Myers  <ncm-nospam@cantrip.org>
+            Paolo Carlini  <pcarlini@unitus.it>
+
+       * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
+       simply equivalent to the unbuffered case (0, 0) as far as
+       _M_buf_size is concerned.
+
 2003-06-18  Andreas Jaeger  <aj@suse.de>
 
        * testsuite/Makefile.am (new-abi-baseline): Create baseline
index 908cc75..c0ef882 100644 (file)
@@ -429,15 +429,16 @@ namespace std
     {
       if (!this->is_open() && __s == 0 && __n == 0)
        this->_M_buf_size = 1;
-      else if (__s && __n > 1)
+      else if (__s && __n >= 1)
        {
          // This is implementation-defined behavior, and assumes that
-         // an external char_type array of length (__s + __n) exists
-         // and has been pre-allocated. If this is not the case,
-         // things will quickly blow up. The length argument __n must
-         // be greater than 1 because __n - 1 positions will be used
-         // for the get and put areas, and 1 position is needed to
-         // host the overflow char of a full put area.
+         // an external char_type array of length __n exists and has
+         // been pre-allocated. If this is not the case, things will
+         // quickly blow up. When __n > 1, __n - 1 positions will be
+         // used for the get area, __n - 1 for the put area and 1
+         // position to host the overflow char of a full put area.
+         // When __n == 1, 1 position will be used for the get area
+         // and 0 for the put area, as in the unbuffered case above.
 
          // Step 1: Destroy the current internal array.
          _M_destroy_internal_buffer();