SF bug [#456252] Python should never stomp on [u]intptr_t.
pyport.h:  typedef a new Py_intptr_t type.
    DELICATE ASSUMPTION:  That HAVE_UINTPTR_T implies intptr_t is
    available as well as uintptr_t.  If that turns out not to be
    true, things must get uglier (C99 wants both, so I think it's
    an assumption we're *likely* to get away with).
thread_nt.h, PyThread_start_new_thread:  MS _beginthread is documented
    as returning unsigned long; no idea why uintptr_t was being used.
Others:  Always use Py_[u]intptr_t, never [u]intptr_t directly.
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 46ca35f..4ddaf9c 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1423,7 +1423,7 @@
 	char *mode = "r";
 	int bufsize = -1;
 #ifdef MS_WIN32
-	intptr_t fd;
+	Py_intptr_t fd;
 #else
 	int fd;
 #endif