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
This commit is contained in:
Matthew Flatt 2019-07-29 13:49:51 -06:00
parent d068f6ae24
commit af163a533d

View File

@ -2115,7 +2115,7 @@ Scheme_Object *scheme_bytes_to_integer(char *str, int slen, int sgned, int rshft
switch(slen) { switch(slen) {
case 1: case 1:
if (sgned) { if (sgned) {
char val; signed char val;
memcpy(&val, str, sizeof(char)); memcpy(&val, str, sizeof(char));
return scheme_make_integer(val); return scheme_make_integer(val);
} else { } else {