From af163a533d1b90a80fac6ac8e5c8672bdb763c95 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 29 Jul 2019 13:49:51 -0600 Subject: [PATCH] integer-bytes->integer: repair for unsigned `char` Fix `integer-bytes->integer` for the single-byte case when the C compiler is configured to treat `char` as an unsigned type. Relevant to #2773 --- racket/src/racket/src/numstr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/racket/src/racket/src/numstr.c b/racket/src/racket/src/numstr.c index d3f78e7a41..a3095c5ba2 100644 --- a/racket/src/racket/src/numstr.c +++ b/racket/src/racket/src/numstr.c @@ -2115,7 +2115,7 @@ Scheme_Object *scheme_bytes_to_integer(char *str, int slen, int sgned, int rshft switch(slen) { case 1: if (sgned) { - char val; + signed char val; memcpy(&val, str, sizeof(char)); return scheme_make_integer(val); } else {