*** cmdline.cpp.orig	Mon Jan  3 06:39:11 2005
--- cmdline.cpp	Mon Jan  3 06:43:52 2005
***************
*** 19,24 ****
--- 19,28 ----
  #include <cctype>
  
  #include <cstdio>
+ 
+ #ifdef BOOST_NO_STDC_NAMESPACE
+ namespace std { using ::strcmp; using ::tolower; using ::strncmp; using ::strchr; using ::strlen; }
+ #endif
  
  namespace boost { namespace program_options {
  
***************
*** 235,241 ****
              case error_option:
                  break;
              case no_option:
!                 if (strcmp(m_current, "--") == 0) {
                      m_no_more_options = true;
                      advance(1);                 
                      next();
--- 239,245 ----
              case error_option:
                  break;
              case no_option:
!                 if (std::strcmp(m_current, "--") == 0) {
                      m_no_more_options = true;
                      advance(1);                 
                      next();
***************
*** 323,330 ****
                  char c2 = *s2; 
                  if (c1 == c2)
                      continue;
!                 c1 = tolower(*s1);
!                 c2 = tolower(*s2);
                  if (c1 < c2)
                      return -1;
                  else if (c1 > c2)
--- 327,334 ----
                  char c2 = *s2; 
                  if (c1 == c2)
                      continue;
!                 c1 = std::tolower(*s1);
!                 c2 = std::tolower(*s2);
                  if (c1 < c2)
                      return -1;
                  else if (c1 > c2)
***************
*** 350,362 ****
              // so add using directive make everyone happy
              using namespace std;
  
-             // But some msvc version don't like using directive :-(
- #if BOOST_WORKAROUND(_MSC_FULL_VER, >= 13102292) &&\
-     BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13103077))
              return std::strncmp(s1, s2, n);
- #else
-             return strncmp(s1, s2, n);
- #endif            
          }
      }
  
--- 354,360 ----
***************
*** 379,391 ****
          using namespace std;
         
          // Handle the case of '=' in name, which is not part of option name
!         const char* eq = strchr(name, '=');
          // Comeau reports ambiguity between C (global) and C++ (std::) versions.
- #if BOOST_WORKAROUND(__COMO__, BOOST_TESTED_AT(4303))
          std::size_t n = eq ? eq - name : std::strlen(name);
- #else
-         std::size_t n = eq ? eq - name : strlen(name);
- #endif
  
          int (*cmp)(const char*, const char*, size_t);
          cmp = (style & case_insensitive) 
--- 377,385 ----
          using namespace std;
         
          // Handle the case of '=' in name, which is not part of option name
!         const char* eq = std::strchr(name, '=');
          // Comeau reports ambiguity between C (global) and C++ (std::) versions.
          std::size_t n = eq ? eq - name : std::strlen(name);
  
          int (*cmp)(const char*, const char*, size_t);
          cmp = (style & case_insensitive) 
***************
*** 448,454 ****
                  m_option_name = opt->long_name;
  
              bool adjacent_parameter(false), next_parameter(false);
!             const char* eq = strchr(s, '=');
              if (eq) {
                  // But store option spelling from command line as well.
                  m_raw_option_name = string(s, eq);
--- 442,448 ----
                  m_option_name = opt->long_name;
  
              bool adjacent_parameter(false), next_parameter(false);
!             const char* eq = std::strchr(s, '=');
              if (eq) {
                  // But store option spelling from command line as well.
                  m_raw_option_name = string(s, eq);

