From: Paolo Carlini Date: Fri, 7 Mar 2003 22:20:18 +0000 (+0100) Subject: fstream.tcc (_M_convert_to_external): Set __elen to zero if codecvt::out eventually... X-Git-Tag: releases/gcc-3.4.0~8135 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9a97e40ae1202ee33bd14c477652ef60fdd606ad;p=thirdparty%2Fgcc.git fstream.tcc (_M_convert_to_external): Set __elen to zero if codecvt::out eventually fails. 2003-03-07 Paolo Carlini * include/bits/fstream.tcc (_M_convert_to_external): Set __elen to zero if codecvt::out eventually fails. From-SVN: r63954 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5298239337aa..6359e773a9cc 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2003-03-07 Paolo Carlini + + * include/bits/fstream.tcc (_M_convert_to_external): + Set __elen to zero if codecvt::out eventually fails. + 2003-03-07 Paolo Carlini PR libstdc++/9182 diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index 484ed7be057f..568c08c47292 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -320,8 +320,13 @@ namespace std __iend, __buf, __buf + __blen, __bend); if (__r != codecvt_base::error) __rlen = __bend - __buf; - else - __rlen = 0; + else + { + __rlen = 0; + // Signal to the caller (_M_really_overflow) that + // codecvt::out eventually failed. + __elen = 0; + } if (__rlen) { __elen += _M_file.xsputn(__buf, __rlen);