casts for picky compilers.
diff --git a/Modules/regexpr.c b/Modules/regexpr.c
index a45b9e2..cc86977 100644
--- a/Modules/regexpr.c
+++ b/Modules/regexpr.c
@@ -811,7 +811,8 @@
 	p2 = code;
 	/* p1 points inside loop, p2 points to after loop */
 	if (!re_do_compile_fastmap(bufp->buffer, bufp->used,
-				   p2 - bufp->buffer, &can_be_null, map))
+				   (int)(p2 - bufp->buffer),
+				   &can_be_null, map))
 		goto make_normal_jump;
 	
 	/* If we might introduce a new update point inside the
diff --git a/Modules/shamodule.c b/Modules/shamodule.c
index e82de04..76b95b2 100644
--- a/Modules/shamodule.c
+++ b/Modules/shamodule.c
@@ -195,7 +195,7 @@
     SHA_INT32 T, A, B, C, D, E, W[80], *WP;
 
     memcpy(W, sha_info->data, sizeof(sha_info->data));
-    longReverse(W, sizeof(sha_info->data), sha_info->Endianness);
+    longReverse(W, (int)sizeof(sha_info->data), sha_info->Endianness);
 
     for (i = 16; i < 80; ++i) {
 	W[i] = W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16];
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 6d57aea..b0eb332 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -512,7 +512,7 @@
 	if (!PyArg_ParseTuple(args, "|l", &bytesrequested))
 		return NULL;
 	if (bytesrequested < 0)
-		buffersize = new_buffersize(f, 0);
+		buffersize = new_buffersize(f, (size_t)0);
 	else
 		buffersize = bytesrequested;
 	v = PyString_FromStringAndSize((char *)NULL, buffersize);