X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fstringcodec%2Fascii.cpp;h=1d27561498f1de132fee1466e34e84868c66df75;hp=84e44fcb6899f4c8bbe7cc4538ab08a1ccf95dcc;hb=HEAD;hpb=056dc68dfc606a2c14126a70321045d6d9f12e0e diff --git a/source/stringcodec/ascii.cpp b/source/stringcodec/ascii.cpp index 84e44fc..1d27561 100644 --- a/source/stringcodec/ascii.cpp +++ b/source/stringcodec/ascii.cpp @@ -21,15 +21,15 @@ const char *translit_katakana[0x60]= namespace Msp { namespace StringCodec { -void Ascii::Encoder::encode_char(UnicodeChar ch, string &buf) +void Ascii::Encoder::encode_char(unichar ch, string &buf) { if(ch<0 || ch>0x7F) - return error(ch, buf, "Can't express character in ASCII"); + return error(ch, buf, invalid_character(ch, "ASCII")); buf += ch; } -void Ascii::Encoder::transliterate(UnicodeChar ch, string &buf) +void Ascii::Encoder::transliterate(unichar ch, string &buf) { if(ch>=0xC0 && ch<=0xC5) buf += 'A'; @@ -88,13 +88,13 @@ void Ascii::Encoder::transliterate(UnicodeChar ch, string &buf) } -UnicodeChar Ascii::Decoder::decode_char(const string &str, string::const_iterator &i) +unichar Ascii::Decoder::decode_char(const string &str, string::const_iterator &i) { if(i==str.end()) - return error("No input"); + return -1; else if(*i&0x80) { - UnicodeChar result = error("Undefined ASCII character"); + unichar result = error(invalid_sequence(i, i+1, "undefined ASCII character")); ++i; return result; }