Merge remote-tracking branch 'arachsys/unsigned-char'
This commit is contained in:
commit
5ed2433b9f
|
@ -20,7 +20,7 @@ String to_json(StringView str)
|
||||||
for (auto it = str.begin(), end = str.end(); it != end; )
|
for (auto it = str.begin(), end = str.end(); it != end; )
|
||||||
{
|
{
|
||||||
auto next = std::find_if(it, end, [](char c) {
|
auto next = std::find_if(it, end, [](char c) {
|
||||||
return c == '\\' or c == '"' or (c >= 0 and c <= 0x1F);
|
return c == '\\' or c == '"' or (unsigned char) c <= 0x1F;
|
||||||
});
|
});
|
||||||
|
|
||||||
res += StringView{it, next};
|
res += StringView{it, next};
|
||||||
|
@ -28,7 +28,7 @@ String to_json(StringView str)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
char buf[7] = {'\\', *next, 0};
|
char buf[7] = {'\\', *next, 0};
|
||||||
if (*next >= 0 and *next <= 0x1F)
|
if ((unsigned char) *next <= 0x1F)
|
||||||
format_to(buf, "\\u{:04}", hex(*next));
|
format_to(buf, "\\u{:04}", hex(*next));
|
||||||
|
|
||||||
res += buf;
|
res += buf;
|
||||||
|
|
|
@ -30,8 +30,8 @@ static String fix_atom_text(StringView str)
|
||||||
auto pos = str.begin();
|
auto pos = str.begin();
|
||||||
for (auto it = str.begin(), end = str.end(); it != end; ++it)
|
for (auto it = str.begin(), end = str.end(); it != end; ++it)
|
||||||
{
|
{
|
||||||
char c = *it;
|
unsigned char c = *it;
|
||||||
if (c >= 0 and c <= 0x1F)
|
if (c <= 0x1F)
|
||||||
{
|
{
|
||||||
res += StringView{pos, it};
|
res += StringView{pos, it};
|
||||||
res += String{Codepoint{(uint32_t)(0x2400 + c)}};
|
res += String{Codepoint{(uint32_t)(0x2400 + c)}};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user