mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-25 18:22:59 +02:00
trunk: TextEncoding fixes
This commit is contained in:
@@ -106,16 +106,16 @@ const TextEncoding::CharacterMap& Latin2Encoding::characterMap() const
|
||||
|
||||
int Latin2Encoding::convert(const unsigned char* bytes) const
|
||||
{
|
||||
return *bytes;
|
||||
return _charMap[*bytes];
|
||||
}
|
||||
|
||||
|
||||
int Latin2Encoding::convert(int ch, unsigned char* bytes, int length) const
|
||||
{
|
||||
if (ch >= 0 && ch <= 255)
|
||||
if (ch >= 0 && ch <= 255 && _charMap[ch] == ch)
|
||||
{
|
||||
if (bytes && length >= 1)
|
||||
*bytes = ch;
|
||||
*bytes = (unsigned char) ch;
|
||||
return 1;
|
||||
}
|
||||
else switch (ch)
|
||||
@@ -133,5 +133,19 @@ int Latin2Encoding::convert(int ch, unsigned char* bytes, int length) const
|
||||
}
|
||||
}
|
||||
|
||||
int Latin2Encoding::queryConvert(const unsigned char* bytes, int length) const
|
||||
{
|
||||
if (1 <= length)
|
||||
return _charMap[*bytes];
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
int Latin2Encoding::sequenceLength(const unsigned char* bytes, int length) const
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
} // namespace Poco
|
||||
|
||||
Reference in New Issue
Block a user