[ https://issues.apache.org/jira/browse/STDCXX-233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor reopened STDCXX-233: --------------------------------- Fixed is not the right resolution. > std::strstreambuf::seekpos() fails to properly position get sequence > -------------------------------------------------------------------- > > Key: STDCXX-233 > URL: https://issues.apache.org/jira/browse/STDCXX-233 > Project: C++ Standard Library > Issue Type: Bug > Components: 27. Input/Output > Reporter: Martin Sebor > Assignee: Martin Sebor > > Moved from the Rogue Wave bug tracking database: > ****Created By: sebor @ Jul 01, 2000 08:28:15 PM**** > This program fails with exit status of 1. It exits successfully (with 0) when > std::strstreambuf is replaced with std::stringbuf. I don't see anything in > D.7.1 that would require this behavior. Looks like a bug... > The (enhanced) regress/test_bug10430.cpp exercises this bug and fails as a > result. > #include <strstream> > int main () > { > std::strstreambuf sb; > sb.sputn ("a", 1); > sb.pubseekpos (0); > char buf[2] = { 'X', 'Y' }; > return !( 1 == sb.sgetn (buf, sizeof buf) > && 'a' == buf [0] && 'Y' == buf [1]); > } > ****Modified By: sebor @ Nov 28, 2000 10:09:20 PM**** > $ cat test_bug10430.out > ## ------------------------------- > ## TestTag = RWQETest test_bug10430 > ## CompilerId = g++-2.95.2 > ## MachineId = SunOS killer 5.7 Generic_106541-12 sun4u sparc SUNW,Ultra-4 > ## Remark = > ## RunTag = test_bug10430 regression test > ## FunctionTag = Issue #10430 -- streambufs delete passed in buffers. > ## StepTag = stringbuf > ## StepTag = filebuf > ## StepTag = wstringstream > ## StepTag = wfilebuf > ## StepTag = strstreambuf > ## - AssertionTag = strstreambuf::sgetn ("", 11) == 11 (got 11) > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 102 > ## - AssertionTag = strstreambuf::sgetn ("", 11); expected "0123456789" > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 107 > ## - AssertionTag = strstreambuf::setbuf (0, 0) must have no effect > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 113 > ## - AssertionTag = strstreambuf::sgetn ("", 11) == 11 (got 0) > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 121 > ## - AssertionTag = strstreambuf::sgetn ("", 11); expected "0123456789" > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 126 > ## - AssertionTag = strstreambuf<>::setbuf (63720, 1) must fail > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 133 > ## - AssertionTag = strstreambuf<>::setbuf (63720, 1) must succeed > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 142 > ## - AssertionTag = strstreambuf<>::setbuf (63720, 12) must succeed > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 151 > ## - AssertionTag = strstreambuf<>::setbuf (63720, 22) must succeed > ## - FileName = > /build2/sebor/dev/stdlib/tests/regress/test_bug10430.cpp > ## - LineNumber = 160 > ## Assertions = 75 > ## FailedAssertions = 9 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.