Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r84067 - branches/release/boost/archive
From: ramey_at_[hidden]
Date: 2013-04-28 11:55:57


Author: ramey
Date: 2013-04-28 11:55:56 EDT (Sun, 28 Apr 2013)
New Revision: 84067
URL: http://svn.boost.org/trac/boost/changeset/84067

Log:
revert previous change - waaayy to risky
Text files modified:
   branches/release/boost/archive/basic_text_iprimitive.hpp | 16 +++++++++-------
   1 files changed, 9 insertions(+), 7 deletions(-)

Modified: branches/release/boost/archive/basic_text_iprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_iprimitive.hpp (original)
+++ branches/release/boost/archive/basic_text_iprimitive.hpp 2013-04-28 11:55:56 EDT (Sun, 28 Apr 2013)
@@ -9,7 +9,7 @@
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // basic_text_iprimitive.hpp
 
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
@@ -30,8 +30,8 @@
 
 #include <boost/config.hpp>
 #if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
- using ::size_t;
+namespace std{
+ using ::size_t;
     #if ! defined(BOOST_DINKUMWARE_STDLIB) && ! defined(__SGI_STL_PORT)
         using ::locale;
     #endif
@@ -78,7 +78,7 @@
     #ifndef BOOST_NO_STD_LOCALE
     boost::scoped_ptr<std::locale> archive_locale;
     basic_streambuf_locale_saver<
- BOOST_DEDUCED_TYPENAME IStream::char_type,
+ BOOST_DEDUCED_TYPENAME IStream::char_type,
         BOOST_DEDUCED_TYPENAME IStream::traits_type
> locale_saver;
     #endif
@@ -86,8 +86,10 @@
     template<class T>
     void load(T & t)
     {
- if(is >> t)
+ if(! is.fail()){
+ is >> t;
             return;
+ }
         boost::serialization::throw_exception(
             archive_exception(archive_exception::input_stream_error)
         );
@@ -121,9 +123,9 @@
         t = i;
     }
     #endif
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+ BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     basic_text_iprimitive(IStream &is, bool no_codecvt);
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
+ BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
     ~basic_text_iprimitive();
 public:
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk