*** value_semantic.cpp.orig	Mon Jan  3 06:46:21 2005
--- value_semantic.cpp	Mon Jan  3 06:47:14 2005
***************
*** 7,12 ****
--- 7,16 ----
  #include <boost/program_options/config.hpp>
  #include <boost/program_options/value_semantic.hpp>
  #include <boost/program_options/detail/convert.hpp>
+ 
+ #ifdef BOOST_NO_STDC_NAMESPACE
+ namespace std { using ::tolower; }
+ #endif
  
  namespace boost { namespace program_options {
  
***************
*** 109,115 ****
          string s(get_single_string(xs, true));
  
          for (size_t i = 0; i < s.size(); ++i)
!             s[i] = char(tolower(s[i]));
  
          if (s.empty() || s == "on" || s == "yes" || s == "1" || s == "true")
              v = any(true);
--- 113,119 ----
          string s(get_single_string(xs, true));
  
          for (size_t i = 0; i < s.size(); ++i)
!             s[i] = char(std::tolower(s[i]));
  
          if (s.empty() || s == "on" || s == "yes" || s == "1" || s == "true")
              v = any(true);
***************
*** 131,137 ****
          wstring s(get_single_string(xs, true));
  
          for (size_t i = 0; i < s.size(); ++i)
!             s[i] = wchar_t(tolower(s[i]));
  
          if (s.empty() || s == L"on" || s == L"yes" || s == L"1" || s == L"true")
              v = any(true);
--- 135,141 ----
          wstring s(get_single_string(xs, true));
  
          for (size_t i = 0; i < s.size(); ++i)
!             s[i] = wchar_t(std::tolower(s[i]));
  
          if (s.empty() || s == L"on" || s == L"yes" || s == L"1" || s == L"true")
              v = any(true);