*** cmdline.cpp.orig Mon Jan 3 06:39:11 2005 --- cmdline.cpp Mon Jan 3 06:43:52 2005 *************** *** 19,24 **** --- 19,28 ---- #include #include + + #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);