Explorar o código

fix: ensure isprint() receives unsigned char to prevent MSVC debug assertions

lightovernight hai 1 ano
pai
achega
d3035c5dd0
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/common/sstream.c

+ 1 - 1
src/common/sstream.c

@@ -103,7 +103,7 @@ void c11_sbuf__write_quoted(c11_sbuf* self, c11_sv sv, char quote) {
                 if(i + u8bytes > sv.size) u8bytes = 0;  // invalid utf8
                 if(u8bytes <= 1) {
                     // not a valid utf8 char, or ascii
-                    if(!isprint(c)) {
+                    if(!isprint((unsigned char)c)) {
                         unsigned char uc = (unsigned char)c;
                         c11_sbuf__write_cstrn(self, "\\x", 2);
                         c11_sbuf__write_char(self, PK_HEX_TABLE[uc >> 4]);