+ fixes for Android

This commit is contained in:
kelson42 2013-08-05 13:11:35 +08:00
parent 2a13f2a177
commit 5d8593805f
2 changed files with 33 additions and 43 deletions

View File

@ -48,30 +48,6 @@ std::string kiwix::removeAccents(const std::string &text) {
return unaccentedText;
}
std::string kiwix::ucFirst (const std::string &word) {
if (word.empty())
return "";
std::string ucFirstWord;
UnicodeString firstLetter = UnicodeString(word.substr(0, 1).c_str());
UnicodeString ucFirstLetter = firstLetter.toUpper();
ucFirstLetter.toUTF8String(ucFirstWord);
ucFirstWord += word.substr(1);
return ucFirstWord;
}
std::string kiwix::lcFirst (const std::string &word) {
if (word.empty())
return "";
std::string ucFirstWord;
UnicodeString firstLetter = UnicodeString(word.substr(0, 1).c_str());
UnicodeString ucFirstLetter = firstLetter.toLower();
ucFirstLetter.toUTF8String(ucFirstWord);
ucFirstWord += word.substr(1);
return ucFirstWord;
}
void kiwix::printStringInHexadecimal(UnicodeString s) {
std::cout << std::showbase << std::hex;
for (int i=0; i<s.length(); i++) {
@ -147,7 +123,7 @@ std::string kiwix::urlEncode(const std::string &c) {
std::string kiwix::urlDecode(const std::string &SRC) {
std::string ret;
char ch;
int i, ii;
unsigned int i, ii;
for (i=0; i<SRC.length(); i++) {
if (int(SRC[i])==37) {
sscanf(SRC.substr(i+1,2).c_str(), "%x", &ii);
@ -161,7 +137,7 @@ std::string kiwix::urlDecode(const std::string &SRC) {
return (ret);
}
#else
#endif
/* Split string in a token array */
std::vector<std::string> kiwix::split(const std::string & str,
@ -198,20 +174,36 @@ std::string kiwix::ucFirst (const std::string &word) {
if (word.empty())
return "";
std::string new_string = word;
new_string[0] = toupper(new_string[0]);
std::string ucFirstWord;
return new_string;
#ifdef __ANDROID__
ucFirstWord = word;
ucFirstWord[0] = toupper(ucFirstWord[0]);
#else
UnicodeString firstLetter = UnicodeString(word.substr(0, 1).c_str());
UnicodeString ucFirstLetter = firstLetter.toUpper();
ucFirstLetter.toUTF8String(ucFirstWord);
ucFirstWord += word.substr(1);
#endif
return ucFirstWord;
}
std::string kiwix::lcFirst (const std::string &word) {
if (word.empty())
return "";
std::string new_string = word;
new_string[0] = tolower(new_string[0]);
return new_string;
}
std::string ucFirstWord;
#ifdef __ANDROID__
ucFirstWord = word;
ucFirstWord[0] = tolower(ucFirstWord[0]);
#else
UnicodeString firstLetter = UnicodeString(word.substr(0, 1).c_str());
UnicodeString ucFirstLetter = firstLetter.toLower();
ucFirstLetter.toUTF8String(ucFirstWord);
ucFirstWord += word.substr(1);
#endif
return ucFirstWord;
}

View File

@ -29,7 +29,7 @@
#include <unicode/uniset.h>
#include <unicode/ustring.h>
#include <unicode/ucnv.h>
#endif
#endif
#include <iostream>
#include <vector>
@ -38,12 +38,17 @@
#include <sstream>
namespace kiwix {
#ifndef __ANDROID__
std::string removeAccents(const std::string &text);
std::string beautifyInteger(const unsigned int number);
std::string urlEncode(const std::string &c);
std::string urlDecode(const std::string &c);
void printStringInHexadecimal(const char *s);
void printStringInHexadecimal(UnicodeString s);
void stringReplacement(std::string& str, const std::string& oldStr, const std::string& newStr);
#endif
std::vector<std::string> split(const std::string&, const std::string&);
@ -53,13 +58,6 @@ namespace kiwix {
std::string ucFirst(const std::string &word);
std::string lcFirst(const std::string &word);
#ifndef __ANDROID__
void stringReplacement(std::string& str, const std::string& oldStr, const std::string& newStr);
std::string urlEncode(const std::string &c);
std::string urlDecode(const std::string &c);
#endif
}
#endif