diff --git a/src/pprint.c b/src/pprint.c index 7d944b857af011b02ce9a698c81981217c57dcf8..145bf5237ae98e7db240aa1540bf8b242801edd1 100644 --- a/src/pprint.c +++ b/src/pprint.c @@ -23,7 +23,6 @@ #include "internal.h" #include <stdlib.h> #include <inttypes.h> -#include <ctype.h> typedef struct pp_state { int delta; @@ -36,7 +35,9 @@ static void pprint_bytes(FILE *stream, const uint8_t *bs, size_t len) fprintf(stream, "\""); for (size_t i = 0; i < len; i++) { uint8_t c = bs[i]; - if (c >= 0x20 && c <= 0x7e) + if (c == '"' || c == '\\') + fprintf(stream, "\\%c", c); + else if (c >= 0x20 && c <= 0x7e) fputc(c, stream); else fprintf(stream, "\\u00%02hhx", c);