Issue #5391: mmap.read_byte() should return unsigned value [0, 255]
instead of signed value [-127, 128].
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 680f1f1..13d7f55 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -204,7 +204,7 @@
     if (self->pos < self->size) {
         char value = self->data[self->pos];
         self->pos += 1;
-        return Py_BuildValue("b", value);
+        return Py_BuildValue("B", (unsigned char)value);
     } else {
         PyErr_SetString(PyExc_ValueError, "read byte out of range");
         return NULL;