OSDN Git Service

2001-11-28 Paolo Carlini <pcarlini@unitus.it>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Nov 2001 00:27:54 +0000 (00:27 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Nov 2001 00:27:54 +0000 (00:27 +0000)
libstdc++/3655
* include/bits/locale_facets.tcc (__pad): correctly output hex
numbers internally aligned.
* testsuite/27_io/ostream_inserter_arith.cc: Add testcase.

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

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/locale_facets.tcc
libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc

index c381c9e..b0b7819 100644 (file)
@@ -1,3 +1,10 @@
+2001-11-28  Paolo Carlini  <pcarlini@unitus.it>
+
+       libstdc++/3655
+       * include/bits/locale_facets.tcc (__pad): correctly output hex
+       numbers internally aligned.
+       * testsuite/27_io/ostream_inserter_arith.cc: Add testcase.
+
 2001-11-28  Paolo Carlini <pcarlini@unitus.it>
            Loren J. Rittle <ljrittle@acm.org>
 
index e602e58..c3f1b03 100644 (file)
@@ -1959,9 +1959,9 @@ namespace std
              __news[1] = __olds[1];
              __mod += 2;
              __news += 2;
-             __beg = const_cast<char_type*>(__olds + __mod);
-             __beglen = __oldlen - __mod;
-             __end = __pads;
+             __beg = __pads;
+             __beglen = __plen;
+             __end = const_cast<char_type*>(__olds + __mod);
            }
          else if (__testsign)
            {
index bd49ebf..25a0c12 100644 (file)
@@ -308,11 +308,25 @@ test03()
   return 0;
 }
 
+// libstdc++/3655
+int
+test04()
+{
+  stringbuf strbuf;
+  ostream o(&strbuf);
+
+  o << hex << showbase << setw(6) << internal << 255;
+  VERIFY( strbuf.str() == "0x  ff" );
+  
+  return 0;
+}
+
 int 
 main()
 {
   test01();
   test02();
+  test04();
 #ifdef TEST_NUMPUT_VERBOSE
   cout << "Test passed!" << endl;
 #endif