Merge remote-tracking branch 'arachsys/unsigned-char'

This commit is contained in:
Maxime Coste 2023-12-12 21:19:52 +11:00
commit 5ed2433b9f
2 changed files with 4 additions and 4 deletions

View File

@ -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;

View File

@ -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)}};