From d3035c5dd0ce5690eaff83c3f63f9ba016485ae0 Mon Sep 17 00:00:00 2001 From: lightovernight Date: Fri, 7 Mar 2025 18:38:03 +0800 Subject: [PATCH] fix: ensure isprint() receives unsigned char to prevent MSVC debug assertions --- src/common/sstream.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/sstream.c b/src/common/sstream.c index 5c57d9bd..0fadec3b 100644 --- a/src/common/sstream.c +++ b/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]);