Skip to content
Snippets Groups Projects
Commit f1298df3 authored by Arne Goedeke's avatar Arne Goedeke
Browse files

Strings: correctly store character ranges

Character ranges of strings are stored in two unsigned chars. For wide
strings, the values between 0 and 255 represent blocks of 255 and
(1<<24) characters, respectively.

The previous code had several issues:

1) After calculating the actual min/max values of the character range,
   these value were rounded up, which could lead to an overflow. The
   result was that both min and max could end up being 0. An example is
   the string (string)({ (1<<16)-1 }).
2) The 32 bit case used blocks of 16 bit instead of 24 bit.
parent 12731632
Branches
Tags
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment