Fix signed/unsigned wng.  Unfortunately, (unsigned char) << int
has type int in C.
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 45d21dd..4dc2ddd 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -570,8 +570,8 @@
 		   be read as they are on disk. */
 		unsigned int halfmagic = PyImport_GetMagicNumber() & 0xFFFF;
 		unsigned char buf[2];
-		if (fread(buf, 1, 2, fp) == 2 
-		    && (buf[1]<<8 | buf[0]) == halfmagic)
+		if (fread(buf, 1, 2, fp) == 2
+		    && ((unsigned int)buf[1]<<8 | buf[0]) == halfmagic)
 			return 1;
 		fseek(fp, 0, SEEK_SET);
 	}