closes bpo-39605: Fix some casts to not cast away const. (GH-18453)
gcc -Wcast-qual turns up a number of instances of casting away constness of pointers. Some of these can be safely modified, by either:
Adding the const to the type cast, as in:
- return _PyUnicode_FromUCS1((unsigned char*)s, size);
+ return _PyUnicode_FromUCS1((const unsigned char*)s, size);
or, Removing the cast entirely, because it's not necessary (but probably was at one time), as in:
- PyDTrace_FUNCTION_ENTRY((char *)filename, (char *)funcname, lineno);
+ PyDTrace_FUNCTION_ENTRY(filename, funcname, lineno);
These changes will not change code, but they will make it much easier to check for errors in consts
(cherry picked from commit e6be9b59a911626d6597fe148c32f0342bd2bd24)
Co-authored-by: Andy Lester <andy@petdance.com>
diff --git a/Python/marshal.c b/Python/marshal.c
index c6a06e8..d3fee32 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -734,7 +734,7 @@
else {
const char *ptr = r_string(1, p);
if (ptr != NULL)
- c = *(unsigned char *) ptr;
+ c = *(const unsigned char *) ptr;
}
return c;
}