unichar Iso885915::Decoder::decode_char(const string &str, string::const_iterator &i)
{
if(i==str.end())
- return error("No input");
+ return -1;
- unsigned char ch = *i;
- int tch = transform_mapping_or_direct(mapping, map_size, ch, true);
-
- unichar result;
- if(tch==-1)
- result = error("Undefined ISO-8859-15 character");
- else
- result = tch;
-
- ++i;
- return result;
+ unsigned char ch = *i++;
+ return transform_mapping_or_direct(mapping, map_size, ch, true);
}
} // namespace StringCodec