$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r67064 - sandbox/configurator/boost/configurator/detail
From: for.dshevchenko_at_[hidden]
Date: 2010-12-06 07:08:12
Author: dshevchenko
Date: 2010-12-06 07:08:09 EST (Mon, 06 Dec 2010)
New Revision: 67064
URL: http://svn.boost.org/trac/boost/changeset/67064
Log:
Check 'exactly double' in exp_record
-This line, and those below, will be ignored--
M    configurator/boost/configurator/detail/pure_options_obtainer.hpp
M    configurator/boost/configurator/detail/validators.hpp
Text files modified: 
   sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp |     2 ++                                      
   sandbox/configurator/boost/configurator/detail/validators.hpp            |     3 ++-                                     
   2 files changed, 4 insertions(+), 1 deletions(-)
Modified: sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp
==============================================================================
--- sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp	(original)
+++ sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp	2010-12-06 07:08:09 EST (Mon, 06 Dec 2010)
@@ -69,6 +69,7 @@
 public:
     pure_options operator()( const str_storage& obtained_strings ) {
         pure_options factual_obtained_options;
+
         BOOST_FOREACH ( const std::string& s, obtained_strings ) {
             if ( option_exists_in_this( s ) ) {
                 obtain_option( s, factual_obtained_options );
@@ -80,6 +81,7 @@
                 notify_about_meaningless_string( s );
             }
         }
+
         check_last_section_closing();
         nonmulti_sections_uniqueness_checker.clear();
         return factual_obtained_options;
Modified: sandbox/configurator/boost/configurator/detail/validators.hpp
==============================================================================
--- sandbox/configurator/boost/configurator/detail/validators.hpp	(original)
+++ sandbox/configurator/boost/configurator/detail/validators.hpp	2010-12-06 07:08:09 EST (Mon, 06 Dec 2010)
@@ -422,12 +422,13 @@
     void check( const std::string& exp_record, const std::string& option_name ) {
         #ifdef WITH_SEMANTIC_CHECK
         using boost::spirit::qi::long_double;
+        using boost::spirit::qi::print;
         using boost::spirit::qi::parse;
     
         double number = 0.0;
         bool valid_exp_record = parse( exp_record.begin()
                                        , exp_record.end()
-                                       , long_double
+                                       , long_double >> !print
                                        , number );
         if ( valid_exp_record ) {
             store_for_option( option_name, number );