components/translation: use Utf8Encoder

actorid
Emanuel Guevel 12 years ago
parent 67273fc177
commit 9906c3051d

@ -50,10 +50,7 @@ namespace Translation
if (!line.empty()) if (!line.empty())
{ {
char* buffer = ToUTF8::getBuffer(line.size() + 1); line = mEncoder.getUtf8(line);
//buffer has at least line.size() + 1 bytes, so it must be safe
strcpy(buffer, line.c_str());
line = ToUTF8::getUtf8(mEncoding);
size_t tab_pos = line.find('\t'); size_t tab_pos = line.find('\t');
if (tab_pos != std::string::npos && tab_pos > 0 && tab_pos < line.size() - 1) if (tab_pos != std::string::npos && tab_pos > 0 && tab_pos < line.size() - 1)
@ -107,6 +104,7 @@ namespace Translation
void Storage::setEncoding (const ToUTF8::FromType& encoding) void Storage::setEncoding (const ToUTF8::FromType& encoding)
{ {
mEncoding = encoding; mEncoding = encoding;
mEncoder.setEncoding(encoding);
} }
bool Storage::hasTranslation() const bool Storage::hasTranslation() const

@ -35,6 +35,7 @@ namespace Translation
ToUTF8::FromType mEncoding; ToUTF8::FromType mEncoding;
ToUTF8::Utf8Encoder mEncoder;
ContainerType mCellNamesTranslations, mTopicIDs, mPhraseForms; ContainerType mCellNamesTranslations, mTopicIDs, mPhraseForms;
}; };
} }

Loading…
Cancel
Save