From cdd1289936051bee33a940ea40a0e1d9c7914940 Mon Sep 17 00:00:00 2001
From: "Sven M. Hallberg" <pesco@khjk.org>
Date: Wed, 16 Sep 2015 22:17:31 +0200
Subject: [PATCH] fix printing of "negative" byte values

---
 src/cfgrammar.c | 6 +++---
 src/cfgrammar.h | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/cfgrammar.c b/src/cfgrammar.c
index a8761b8d..beae165f 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 9cefc62e..0d31ef57 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);
-- 
GitLab