Fix some warnings from MSVC
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 98433e1..f840729 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -3067,7 +3067,7 @@
};
#ifdef MS_WIN32
-static PPROC FindAddress(void *handle, char *name, PyObject *type)
+static PPROC FindAddress(void *handle, const char *name, PyObject *type)
{
#ifdef MS_WIN64
/* win64 has no stdcall calling conv, so it should
diff --git a/Modules/_decimal/libmpdec/vccompat.h b/Modules/_decimal/libmpdec/vccompat.h
index 564eaa8..dd131d8 100644
--- a/Modules/_decimal/libmpdec/vccompat.h
+++ b/Modules/_decimal/libmpdec/vccompat.h
@@ -48,10 +48,6 @@
#undef strtoll
#define strtoll _strtoi64
#define strdup _strdup
- #define PRIi64 "I64i"
- #define PRIu64 "I64u"
- #define PRIi32 "I32i"
- #define PRIu32 "I32u"
#endif
diff --git a/Modules/audioop.c b/Modules/audioop.c
index c11506c..d715783 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -4,6 +4,7 @@
#define PY_SSIZE_T_CLEAN
#include "Python.h"
+#include <inttypes.h>
typedef short PyInt16;
@@ -448,7 +449,7 @@
int val = GETRAWSAMPLE(width, fragment->buf, i);
/* Cast to unsigned before negating. Unsigned overflow is well-
defined, but signed overflow is not. */
- if (val < 0) absval = -(unsigned int)val;
+ if (val < 0) absval = (unsigned int)-(int64_t)val;
else absval = val;
if (absval > max) max = absval;
}
diff --git a/Programs/_freeze_importlib.c b/Programs/_freeze_importlib.c
index 0793984..1069966 100644
--- a/Programs/_freeze_importlib.c
+++ b/Programs/_freeze_importlib.c
@@ -58,7 +58,7 @@
fprintf(stderr, "cannot fstat '%s'\n", inpath);
goto error;
}
- text_size = status.st_size;
+ text_size = (size_t)status.st_size;
text = (char *) malloc(text_size + 1);
if (text == NULL) {
fprintf(stderr, "could not allocate %ld bytes\n", (long) text_size);