$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: hartmut.kaiser_at_[hidden]
Date: 2008-08-26 20:18:20
Author: hkaiser
Date: 2008-08-26 20:18:19 EDT (Tue, 26 Aug 2008)
New Revision: 48400
URL: http://svn.boost.org/trac/boost/changeset/48400
Log:
Spirit.Lex: Fixed a problem with in_state()
Text files modified: 
   trunk/boost/spirit/home/lex/qi/state/in_state.hpp |    17 ++++++++++-------                       
   1 files changed, 10 insertions(+), 7 deletions(-)
Modified: trunk/boost/spirit/home/lex/qi/state/in_state.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/qi/state/in_state.hpp	(original)
+++ trunk/boost/spirit/home/lex/qi/state/in_state.hpp	2008-08-26 20:18:19 EDT (Tue, 26 Aug 2008)
@@ -22,7 +22,7 @@
     {
         String name;
     };
-    
+
     ///////////////////////////////////////////////////////////////////////////
     // These are the different overloads allowed for the in_state(...) 
     // construct
@@ -33,23 +33,26 @@
         proto::terminal<in_state_tag<char const*> >::type that = {{s}};
         return that;
     }
-    
+
     inline proto::terminal<in_state_tag<wchar_t const*> >::type
     in_state(wchar_t const *s)
     {
         proto::terminal<in_state_tag<wchar_t const*> >::type that = {{s}};
         return that;
     }
-    
+
     template <typename Char, typename Traits, typename Allocator>
-    inline proto::terminal<in_state_tag<char const*> >::type
+    inline typename proto::terminal<in_state_tag<Char const*> >::type
     in_state(std::basic_string<Char, Traits, Allocator> const& s)
     {
-        typename proto::terminal<in_state_tag<Char const*> >::type that = 
-            {{s.c_str()}};
+        typedef std::basic_string<Char, Traits, Allocator> string_type;
+
+        typename proto::terminal<in_state_tag<string_type> >::type that;
+        that.s = s;
+
         return that;
     }
-    
+
     ///////////////////////////////////////////////////////////////////////////
     // The following is a helper template allowing to use the in_state()[] as 
     // a skip parser