+#include <algorithm>
+#include <cctype>
+#include <climits>
#include <string>
-#include <ctype.h>
-#include <limits.h>
#include <lib/base/eerror.h>
#include <lib/base/encoding.h>
#include <lib/base/estring.h>
+std::string buildShortName( const std::string &str )
+{
+ std::string tmp;
+ static char stropen[3] = { 0xc2, 0x86, 0x00 };
+ static char strclose[3] = { 0xc2, 0x87, 0x00 };
+ size_t open=std::string::npos-1;
+ while ( (open = str.find(stropen, open+2)) != std::string::npos )
+ {
+ size_t close = str.find(strclose, open);
+ if ( close != std::string::npos )
+ tmp+=str.substr( open+2, close-(open+2) );
+ }
+ return tmp.length() ? tmp : str;
+}
+
std::string getNum(int val, int sys)
{
// Returns a string that contain the value val as string
char buf[12];
if (sys == 10)
- std::snprintf(buf, 12, "%i", val);
+ snprintf(buf, 12, "%i", val);
else if (sys == 16)
- std::snprintf(buf, 12, "%X", val);
+ snprintf(buf, 12, "%X", val);
std::string res;
res.assign(buf);
switch(n)
{
case 12:
- eDebug("unsup. ISO8859-12 enc.", n);
+ eDebug("unsup. ISO8859-12 enc.");
break;
default:
table=n;
{
std::transform(s.begin(), s.end(), s.begin(), (int(*)(int)) toupper);
}
+
+std::string replace_all(const std::string &in, const std::string &entity, const std::string &symbol)
+{
+ std::string out = in;
+ std::string::size_type loc = 0;
+ while (( loc = out.find(entity, loc)) != std::string::npos )
+ out.replace(loc, entity.length(), symbol);
+ return out;
+}