diff options
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.patch | 63 |
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; + } + + |