summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/fbpager/files/fbpager-0.1.4-gcc43.patch')
-rw-r--r--x11-misc/fbpager/files/fbpager-0.1.4-gcc43.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/x11-misc/fbpager/files/fbpager-0.1.4-gcc43.patch b/x11-misc/fbpager/files/fbpager-0.1.4-gcc43.patch
new file mode 100644
index 000000000000..9289e990bac4
--- /dev/null
+++ b/x11-misc/fbpager/files/fbpager-0.1.4-gcc43.patch
@@ -0,0 +1,63 @@
+--- src/FbTk/StringUtil.cc.orig 2008-06-14 17:36:06.000000000 +0000
++++ src/FbTk/StringUtil.cc 2008-06-14 17:39:56.000000000 +0000
+@@ -23,6 +23,9 @@
+
+ #include "StringUtil.hh"
+
++
++#include <cstring>
++#include <locale>
+ #include <string>
+ #include <cstdio>
+ #include <cstdlib>
+@@ -37,6 +40,26 @@
+
+ namespace StringUtil {
+
++
++/*
++ * structs needed for std::transform()
++ * See: http://gcc.gnu.org/onlinedocs/libstdc++/22_locale/howto.html#7
++ */
++struct ToUpper {
++ ToUpper(std::locale const& l) : loc(l) {;}
++ char operator() (char c) const { return std::toupper(c,loc); }
++ private:
++ std::locale const& loc;
++};
++
++struct ToLower {
++ ToLower(std::locale const& l) : loc(l) {;}
++ char operator() (char c) const { return std::tolower(c,loc); }
++private:
++ std::locale const& loc;
++};
++
++
+ /**
+ Takes a pointer to string *s as an argument,
+ creates a new string n, copies s to n and
+@@ -160,14 +183,20 @@
+ }
+
+ std::string toLower(const std::string &conv) {
++
++ ToLower __tolower(std::locale::classic());
++
+ std::string ret = conv;
+- std::transform(ret.begin(), ret.end(), ret.begin(), tolower);
++ std::transform(ret.begin(), ret.end(), ret.begin(), __tolower);
+ return ret;
+ }
+
+ std::string toUpper(const std::string &conv) {
++
++ ToUpper __toupper(std::locale::classic());
++
+ std::string ret = conv;
+- std::transform(ret.begin(), ret.end(), ret.begin(), toupper);
++ std::transform(ret.begin(), ret.end(), ret.begin(), __toupper);
+ return ret;
+ }
+
+