#include <algorithm>
-#ifdef __GLIBCPP__
-#include <ctype.h>
-#else
#include <cctype>
-#endif
#include <cstdlib>
#include "LString.h"
using std::count;
using std::transform;
+#ifndef __GLIBCPP__
+// The new glibstdc++-v3 has not worked out all the quirks regarding cctype
+// yet. So currently it failes if the to using lines below are stated.
using std::tolower;
using std::toupper;
-
+#endif
+
int compare_no_case(string const & s, string const & s2)
{
// ANSI C
string lowercase(string const & a)
{
string tmp(a);
-#ifdef __GLIBCPP__
+//#ifdef __GLIBCPP__
string::iterator result = tmp.begin();
for (string::iterator first = tmp.begin();
first != tmp.end(); ++first, ++result) {
*result = tolower(*first);
}
-#else
- transform(tmp.begin(), tmp.end(), tmp.begin(), tolower);
-#endif
+//#else
+// transform(tmp.begin(), tmp.end(), tmp.begin(), tolower);
+//#endif
return tmp;
}
string uppercase(string const & a)
{
string tmp(a);
-#ifdef __GLIBCPP__
+//#ifdef __GLIBCPP__
string::iterator result = tmp.begin();
for (string::iterator first = tmp.begin();
first != tmp.end(); ++first, ++result) {
*result = toupper(*first);
}
-#else
- transform(tmp.begin(), tmp.end(), tmp.begin(), toupper);
-#endif
+//#else
+// transform(tmp.begin(), tmp.end(), tmp.begin(), toupper);
+//#endif
return tmp;
}