diff --git a/src/cfgrammar.c b/src/cfgrammar.c index a8761b8d537ec236f7a4876e1ad86a30742df988..beae165fc83c8111383263309dc7ca6f2d308b19 100644 --- a/src/cfgrammar.c +++ b/src/cfgrammar.c @@ -672,7 +672,7 @@ static void stringset_extend(HCFGrammar *g, HStringMap *ret, } -void h_pprint_char(FILE *f, char c) +void h_pprint_char(FILE *f, uint8_t c) { switch(c) { case '"': fputs("\\\"", f); break; @@ -685,12 +685,12 @@ void h_pprint_char(FILE *f, char c) if (isprint((int)c)) { fputc(c, f); } else { - fprintf(f, "\\x%.2X", c); + fprintf(f, "\\x%.2X", (unsigned int)c); } } } -static void pprint_charset_char(FILE *f, char c) +static void pprint_charset_char(FILE *f, uint8_t c) { switch(c) { case '"': fputc(c, f); break; diff --git a/src/cfgrammar.h b/src/cfgrammar.h index 9cefc62e83f07048dc2a24f0cda1bde28ca72066..0d31ef57116fadad6700241cf805bf325f550c69 100644 --- a/src/cfgrammar.h +++ b/src/cfgrammar.h @@ -102,4 +102,4 @@ void h_pprint_stringset(FILE *file, const HStringMap *set, int indent); void h_pprint_stringmap(FILE *file, char sep, void (*valprint)(FILE *f, void *env, void *val), void *env, const HStringMap *map); -void h_pprint_char(FILE *file, char c); +void h_pprint_char(FILE *file, uint8_t c);