Given that ord() of a bytes object of length 1 is defined, it should
never return a negative number.
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 264470b..aa0d0df 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1482,7 +1482,7 @@
 		/* XXX Hopefully this is temporary */
 		size = PyBytes_GET_SIZE(obj);
 		if (size == 1) {
-			ord = (long)*PyBytes_AS_STRING(obj);
+			ord = (long)((unsigned char)*PyBytes_AS_STRING(obj));
 			return PyInt_FromLong(ord);
 		}
 	}