SOURCES: fbpager-gcc43.patch (NEW) - initial - patch from gentoo

cactus cactus at pld-linux.org
Wed Aug 27 12:05:23 CEST 2008


Author: cactus                       Date: Wed Aug 27 10:05:23 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- initial
- patch from gentoo

---- Files affected:
SOURCES:
   fbpager-gcc43.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/fbpager-gcc43.patch
diff -u /dev/null SOURCES/fbpager-gcc43.patch:1.1
--- /dev/null	Wed Aug 27 12:05:23 2008
+++ SOURCES/fbpager-gcc43.patch	Wed Aug 27 12:05:17 2008
@@ -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;
+ }
+ 
+
================================================================


More information about the pld-cvs-commit mailing list