1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-18 21:05:26 -05:00
Simon Tatham 9e01de7c2b decode_utf8: add an enumeration of failure reasons.
Now you can optionally get back an enum value indicating whether the
character was successfully decoded, or whether U+FFFD was substituted
due to some kind of problem, and if the latter, what problem.

For a start, this allows distinguishing 'real' U+FFFD (encoded
legitimately in the input) from one invented by the decoder. Also, it
allows the recipient of the decode to treat failures differently,
either by passing on a useful error report to the user (as
utf8_unknown_char now does) or by doing something special.

In particular, there are two distinct error codes for a truncated
UTF-8 encoding, depending on whether it was truncated by the end of
the input or by encountering a non-continuation byte. The former code
means that the string is not legal UTF-8 _as it is_, but doesn't rule
out it being a (bytewise) prefix of a legal UTF-8 string - so if a
client is receiving UTF-8 data a byte at a time, they can treat that
error code specially and not make it a fatal error.
2023-02-17 17:16:54 +00:00
..
2022-11-26 10:32:36 +00:00
2022-11-26 10:32:36 +00:00
2022-08-03 20:48:46 +01:00
2022-06-25 14:30:39 +01:00
2021-04-19 17:14:01 +01:00
2022-04-24 08:38:27 +01:00
2022-09-13 11:26:57 +01:00
2022-09-03 11:59:12 +01:00
2021-04-18 08:18:27 +01:00
2022-09-03 11:59:12 +01:00
2021-04-18 08:18:27 +01:00