diff options
author | Andy Lester <andy@petdance.com> | 2020-02-12 02:28:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-12 02:28:35 (GMT) |
commit | e6be9b59a911626d6597fe148c32f0342bd2bd24 (patch) | |
tree | f5912158983ae1a5adcdc2131c183d09012588f8 /Python | |
parent | 029e8401b7741cc0964b5f38d2c2264749dbff6b (diff) | |
download | cpython-e6be9b59a911626d6597fe148c32f0342bd2bd24.zip cpython-e6be9b59a911626d6597fe148c32f0342bd2bd24.tar.gz cpython-e6be9b59a911626d6597fe148c32f0342bd2bd24.tar.bz2 |
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
Diffstat (limited to 'Python')
-rw-r--r-- | Python/ceval.c | 6 | ||||
-rw-r--r-- | Python/marshal.c | 2 | ||||
-rw-r--r-- | Python/pyhash.c | 2 | ||||
-rw-r--r-- | Python/sysmodule.c | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index eb0f131..426d0bb 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -5440,7 +5440,7 @@ dtrace_function_entry(PyFrameObject *f) funcname = PyUnicode_AsUTF8(f->f_code->co_name); lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); - PyDTrace_FUNCTION_ENTRY((char *)filename, (char *)funcname, lineno); + PyDTrace_FUNCTION_ENTRY(filename, funcname, lineno); } static void @@ -5454,7 +5454,7 @@ dtrace_function_return(PyFrameObject *f) funcname = PyUnicode_AsUTF8(f->f_code->co_name); lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); - PyDTrace_FUNCTION_RETURN((char *)filename, (char *)funcname, lineno); + PyDTrace_FUNCTION_RETURN(filename, funcname, lineno); } /* DTrace equivalent of maybe_call_line_trace. */ @@ -5486,7 +5486,7 @@ maybe_dtrace_line(PyFrameObject *frame, co_name = PyUnicode_AsUTF8(frame->f_code->co_name); if (!co_name) co_name = "?"; - PyDTrace_LINE((char *)co_filename, (char *)co_name, line); + PyDTrace_LINE(co_filename, co_name, line); } *instr_prev = frame->f_lasti; } diff --git a/Python/marshal.c b/Python/marshal.c index 04a8dc5..4a23df1 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -734,7 +734,7 @@ r_byte(RFILE *p) else { const char *ptr = r_string(1, p); if (ptr != NULL) - c = *(unsigned char *) ptr; + c = *(const unsigned char *) ptr; } return c; } diff --git a/Python/pyhash.c b/Python/pyhash.c index d381dc0..faac730 100644 --- a/Python/pyhash.c +++ b/Python/pyhash.c @@ -366,7 +366,7 @@ static PyHash_FuncDef PyHash_Func = {fnv, "fnv", 8 * SIZEOF_PY_HASH_T, static uint64_t siphash24(uint64_t k0, uint64_t k1, const void *src, Py_ssize_t src_sz) { uint64_t b = (uint64_t)src_sz << 56; - const uint8_t *in = (uint8_t*)src; + const uint8_t *in = (const uint8_t*)src; uint64_t v0 = k0 ^ 0x736f6d6570736575ULL; uint64_t v1 = k1 ^ 0x646f72616e646f6dULL; diff --git a/Python/sysmodule.c b/Python/sysmodule.c index a7f8c0b..cacff52 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -204,7 +204,7 @@ PySys_Audit(const char *event, const char *argFormat, ...) /* Dtrace USDT point */ if (dtrace) { - PyDTrace_AUDIT((char *)event, (void *)eventArgs); + PyDTrace_AUDIT(event, (void *)eventArgs); } /* Call interpreter hooks */ |