Add the const qualifier to "char *" variables that refer to literal strings. (#4370)

This commit is contained in:
Serhiy Storchaka 2017-11-11 13:06:26 +02:00 committed by GitHub
parent e184cfd7bf
commit e2f92de6a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 46 additions and 41 deletions

View File

@ -1336,7 +1336,7 @@ static PyObject *py_dl_open(PyObject *self, PyObject *args)
handle = ctypes_dlopen(name_str, mode); handle = ctypes_dlopen(name_str, mode);
Py_XDECREF(name2); Py_XDECREF(name2);
if (!handle) { if (!handle) {
char *errmsg = ctypes_dlerror(); const char *errmsg = ctypes_dlerror();
if (!errmsg) if (!errmsg)
errmsg = "dlopen() error"; errmsg = "dlopen() error";
PyErr_SetString(PyExc_OSError, PyErr_SetString(PyExc_OSError,

View File

@ -96,7 +96,7 @@
/* Release Number */ /* Release Number */
char *PyCursesVersion = "2.2"; static const char PyCursesVersion[] = "2.2";
/* Includes */ /* Includes */
@ -2562,7 +2562,7 @@ PyCurses_setupterm(PyObject* self, PyObject *args, PyObject* keywds)
} }
if (!initialised_setupterm && setupterm(termstr,fd,&err) == ERR) { if (!initialised_setupterm && setupterm(termstr,fd,&err) == ERR) {
char* s = "setupterm: unknown error"; const char* s = "setupterm: unknown error";
if (err == 0) { if (err == 0) {
s = "setupterm: could not find terminal"; s = "setupterm: could not find terminal";

View File

@ -1550,7 +1550,7 @@ static PyObject *
pysqlite_connection_exit(pysqlite_Connection* self, PyObject* args) pysqlite_connection_exit(pysqlite_Connection* self, PyObject* args)
{ {
PyObject* exc_type, *exc_value, *exc_tb; PyObject* exc_type, *exc_value, *exc_tb;
char* method_name; const char* method_name;
PyObject* result; PyObject* result;
if (!PyArg_ParseTuple(args, "OOO", &exc_type, &exc_value, &exc_tb)) { if (!PyArg_ParseTuple(args, "OOO", &exc_type, &exc_value, &exc_tb)) {

View File

@ -2413,7 +2413,7 @@ test_with_docstring(PyObject *self)
static PyObject * static PyObject *
test_string_to_double(PyObject *self) { test_string_to_double(PyObject *self) {
double result; double result;
char *msg; const char *msg;
#define CHECK_STRING(STR, expected) \ #define CHECK_STRING(STR, expected) \
result = PyOS_string_to_double(STR, NULL, NULL); \ result = PyOS_string_to_double(STR, NULL, NULL); \

View File

@ -125,7 +125,8 @@ static void fpe_reset(Sigfunc *handler)
extern long ieee_handler(const char*, const char*, sigfpe_handler_type); extern long ieee_handler(const char*, const char*, sigfpe_handler_type);
#endif #endif
char *mode="exception", *in="all", *out; const char *mode="exception", *in="all";
char *out;
(void) nonstandard_arithmetic(); (void) nonstandard_arithmetic();
(void) ieee_flags("clearall",mode,in,&out); (void) ieee_flags("clearall",mode,in,&out);
(void) ieee_handler("set","common",(sigfpe_handler_type)handler); (void) ieee_handler("set","common",(sigfpe_handler_type)handler);

View File

@ -1608,7 +1608,7 @@ _PyGC_DumpShutdownStats(void)
{ {
if (!(_PyRuntime.gc.debug & DEBUG_SAVEALL) if (!(_PyRuntime.gc.debug & DEBUG_SAVEALL)
&& _PyRuntime.gc.garbage != NULL && PyList_GET_SIZE(_PyRuntime.gc.garbage) > 0) { && _PyRuntime.gc.garbage != NULL && PyList_GET_SIZE(_PyRuntime.gc.garbage) > 0) {
char *message; const char *message;
if (_PyRuntime.gc.debug & DEBUG_UNCOLLECTABLE) if (_PyRuntime.gc.debug & DEBUG_UNCOLLECTABLE)
message = "gc: %zd uncollectable objects at " \ message = "gc: %zd uncollectable objects at " \
"shutdown"; "shutdown";

View File

@ -342,7 +342,7 @@ getaddrinfo(const char*hostname, const char*servname,
port = htons((u_short)atoi(servname)); port = htons((u_short)atoi(servname));
} else { } else {
struct servent *sp; struct servent *sp;
char *proto; const char *proto;
proto = NULL; proto = NULL;
switch (pai->ai_socktype) { switch (pai->ai_socktype) {

View File

@ -312,7 +312,7 @@ static int
run_file(FILE *fp, const wchar_t *filename, PyCompilerFlags *p_cf) run_file(FILE *fp, const wchar_t *filename, PyCompilerFlags *p_cf)
{ {
PyObject *unicode, *bytes = NULL; PyObject *unicode, *bytes = NULL;
char *filename_str; const char *filename_str;
int run; int run;
/* call pending calls like signal handlers (SIGINT) */ /* call pending calls like signal handlers (SIGINT) */

View File

@ -1210,7 +1210,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
DWORD off_lo; /* lower 32 bits of offset */ DWORD off_lo; /* lower 32 bits of offset */
DWORD size_hi; /* upper 32 bits of size */ DWORD size_hi; /* upper 32 bits of size */
DWORD size_lo; /* lower 32 bits of size */ DWORD size_lo; /* lower 32 bits of size */
char *tagname = ""; const char *tagname = "";
DWORD dwErr = 0; DWORD dwErr = 0;
int fileno; int fileno;
HANDLE fh = 0; HANDLE fh = 0;

View File

@ -53,7 +53,7 @@ typedef unsigned long uint32_t;
typedef struct { typedef struct {
PyObject_HEAD PyObject_HEAD
char *devicename; /* name of the device file */ const char *devicename; /* name of the device file */
int fd; /* file descriptor */ int fd; /* file descriptor */
int mode; /* file mode (O_RDONLY, etc.) */ int mode; /* file mode (O_RDONLY, etc.) */
Py_ssize_t icount; /* input count */ Py_ssize_t icount; /* input count */
@ -82,8 +82,8 @@ newossobject(PyObject *arg)
{ {
oss_audio_t *self; oss_audio_t *self;
int fd, afmts, imode; int fd, afmts, imode;
char *devicename = NULL; const char *devicename = NULL;
char *mode = NULL; const char *mode = NULL;
/* Two ways to call open(): /* Two ways to call open():
open(device, mode) (for consistency with builtin open()) open(device, mode) (for consistency with builtin open())
@ -167,7 +167,7 @@ oss_dealloc(oss_audio_t *self)
static oss_mixer_t * static oss_mixer_t *
newossmixerobject(PyObject *arg) newossmixerobject(PyObject *arg)
{ {
char *devicename = NULL; const char *devicename = NULL;
int fd; int fd;
oss_mixer_t *self; oss_mixer_t *self;

View File

@ -1806,7 +1806,8 @@ bytearray_strip_impl(PyByteArrayObject *self, PyObject *bytes)
/*[clinic end generated code: output=760412661a34ad5a input=ef7bb59b09c21d62]*/ /*[clinic end generated code: output=760412661a34ad5a input=ef7bb59b09c21d62]*/
{ {
Py_ssize_t left, right, mysize, byteslen; Py_ssize_t left, right, mysize, byteslen;
char *myptr, *bytesptr; char *myptr;
const char *bytesptr;
Py_buffer vbytes; Py_buffer vbytes;
if (bytes == Py_None) { if (bytes == Py_None) {
@ -1816,7 +1817,7 @@ bytearray_strip_impl(PyByteArrayObject *self, PyObject *bytes)
else { else {
if (PyObject_GetBuffer(bytes, &vbytes, PyBUF_SIMPLE) != 0) if (PyObject_GetBuffer(bytes, &vbytes, PyBUF_SIMPLE) != 0)
return NULL; return NULL;
bytesptr = (char *) vbytes.buf; bytesptr = (const char *) vbytes.buf;
byteslen = vbytes.len; byteslen = vbytes.len;
} }
myptr = PyByteArray_AS_STRING(self); myptr = PyByteArray_AS_STRING(self);
@ -1847,7 +1848,8 @@ bytearray_lstrip_impl(PyByteArrayObject *self, PyObject *bytes)
/*[clinic end generated code: output=d005c9d0ab909e66 input=80843f975dd7c480]*/ /*[clinic end generated code: output=d005c9d0ab909e66 input=80843f975dd7c480]*/
{ {
Py_ssize_t left, right, mysize, byteslen; Py_ssize_t left, right, mysize, byteslen;
char *myptr, *bytesptr; char *myptr;
const char *bytesptr;
Py_buffer vbytes; Py_buffer vbytes;
if (bytes == Py_None) { if (bytes == Py_None) {
@ -1857,7 +1859,7 @@ bytearray_lstrip_impl(PyByteArrayObject *self, PyObject *bytes)
else { else {
if (PyObject_GetBuffer(bytes, &vbytes, PyBUF_SIMPLE) != 0) if (PyObject_GetBuffer(bytes, &vbytes, PyBUF_SIMPLE) != 0)
return NULL; return NULL;
bytesptr = (char *) vbytes.buf; bytesptr = (const char *) vbytes.buf;
byteslen = vbytes.len; byteslen = vbytes.len;
} }
myptr = PyByteArray_AS_STRING(self); myptr = PyByteArray_AS_STRING(self);
@ -1885,7 +1887,8 @@ bytearray_rstrip_impl(PyByteArrayObject *self, PyObject *bytes)
/*[clinic end generated code: output=030e2fbd2f7276bd input=e728b994954cfd91]*/ /*[clinic end generated code: output=030e2fbd2f7276bd input=e728b994954cfd91]*/
{ {
Py_ssize_t right, mysize, byteslen; Py_ssize_t right, mysize, byteslen;
char *myptr, *bytesptr; char *myptr;
const char *bytesptr;
Py_buffer vbytes; Py_buffer vbytes;
if (bytes == Py_None) { if (bytes == Py_None) {
@ -1895,7 +1898,7 @@ bytearray_rstrip_impl(PyByteArrayObject *self, PyObject *bytes)
else { else {
if (PyObject_GetBuffer(bytes, &vbytes, PyBUF_SIMPLE) != 0) if (PyObject_GetBuffer(bytes, &vbytes, PyBUF_SIMPLE) != 0)
return NULL; return NULL;
bytesptr = (char *) vbytes.buf; bytesptr = (const char *) vbytes.buf;
byteslen = vbytes.len; byteslen = vbytes.len;
} }
myptr = PyByteArray_AS_STRING(self); myptr = PyByteArray_AS_STRING(self);

View File

@ -543,7 +543,7 @@ instancemethod_repr(PyObject *self)
{ {
PyObject *func = PyInstanceMethod_Function(self); PyObject *func = PyInstanceMethod_Function(self);
PyObject *funcname = NULL , *result = NULL; PyObject *funcname = NULL , *result = NULL;
char *defname = "?"; const char *defname = "?";
if (func == NULL) { if (func == NULL) {
PyErr_BadInternalCall(); PyErr_BadInternalCall();

View File

@ -363,9 +363,9 @@ complex_repr(PyComplexObject *v)
/* These do not need to be freed. re is either an alias /* These do not need to be freed. re is either an alias
for pre or a pointer to a constant. lead and tail for pre or a pointer to a constant. lead and tail
are pointers to constants. */ are pointers to constants. */
char *re = NULL; const char *re = NULL;
char *lead = ""; const char *lead = "";
char *tail = ""; const char *tail = "";
if (v->cval.real == 0. && copysign(1.0, v->cval.real)==1.0) { if (v->cval.real == 0. && copysign(1.0, v->cval.real)==1.0) {
/* Real part is +0: just output the imaginary part and do not /* Real part is +0: just output the imaginary part and do not

View File

@ -152,7 +152,7 @@ gen_send_ex(PyGenObject *gen, PyObject *arg, int exc, int closing)
PyObject *result; PyObject *result;
if (gen->gi_running) { if (gen->gi_running) {
char *msg = "generator already executing"; const char *msg = "generator already executing";
if (PyCoro_CheckExact(gen)) { if (PyCoro_CheckExact(gen)) {
msg = "coroutine already executing"; msg = "coroutine already executing";
} }
@ -186,8 +186,8 @@ gen_send_ex(PyGenObject *gen, PyObject *arg, int exc, int closing)
if (f->f_lasti == -1) { if (f->f_lasti == -1) {
if (arg && arg != Py_None) { if (arg && arg != Py_None) {
char *msg = "can't send non-None value to a " const char *msg = "can't send non-None value to a "
"just-started generator"; "just-started generator";
if (PyCoro_CheckExact(gen)) { if (PyCoro_CheckExact(gen)) {
msg = NON_INIT_CORO_MSG; msg = NON_INIT_CORO_MSG;
} }
@ -410,7 +410,7 @@ gen_close(PyGenObject *gen, PyObject *args)
PyErr_SetNone(PyExc_GeneratorExit); PyErr_SetNone(PyExc_GeneratorExit);
retval = gen_send_ex(gen, Py_None, 1, 1); retval = gen_send_ex(gen, Py_None, 1, 1);
if (retval) { if (retval) {
char *msg = "generator ignored GeneratorExit"; const char *msg = "generator ignored GeneratorExit";
if (PyCoro_CheckExact(gen)) { if (PyCoro_CheckExact(gen)) {
msg = "coroutine ignored GeneratorExit"; msg = "coroutine ignored GeneratorExit";
} else if (PyAsyncGen_CheckExact(gen)) { } else if (PyAsyncGen_CheckExact(gen)) {

View File

@ -1646,7 +1646,7 @@ _PyMem_DebugCheckAddress(char api, const void *p)
{ {
const uint8_t *q = (const uint8_t *)p; const uint8_t *q = (const uint8_t *)p;
char msgbuf[64]; char msgbuf[64];
char *msg; const char *msg;
size_t nbytes; size_t nbytes;
const uint8_t *tail; const uint8_t *tail;
int i; int i;
@ -1661,7 +1661,7 @@ _PyMem_DebugCheckAddress(char api, const void *p)
id = (char)q[-SST]; id = (char)q[-SST];
if (id != api) { if (id != api) {
msg = msgbuf; msg = msgbuf;
snprintf(msg, sizeof(msgbuf), "bad ID: Allocated using API '%c', verified using API '%c'", id, api); snprintf(msgbuf, sizeof(msgbuf), "bad ID: Allocated using API '%c', verified using API '%c'", id, api);
msgbuf[sizeof(msgbuf)-1] = 0; msgbuf[sizeof(msgbuf)-1] = 0;
goto error; goto error;
} }

View File

@ -1625,7 +1625,7 @@ odict_init(PyObject *self, PyObject *args, PyObject *kwds)
if (len == -1) if (len == -1)
return -1; return -1;
if (len > 1) { if (len > 1) {
char *msg = "expected at most 1 arguments, got %d"; const char *msg = "expected at most 1 arguments, got %d";
PyErr_Format(PyExc_TypeError, msg, len); PyErr_Format(PyExc_TypeError, msg, len);
return -1; return -1;
} }
@ -2337,7 +2337,7 @@ mutablemapping_update(PyObject *self, PyObject *args, PyObject *kwargs)
assert(args == NULL || PyTuple_Check(args)); assert(args == NULL || PyTuple_Check(args));
len = (args != NULL) ? PyTuple_GET_SIZE(args) : 0; len = (args != NULL) ? PyTuple_GET_SIZE(args) : 0;
if (len > 1) { if (len > 1) {
char *msg = "update() takes at most 1 positional argument (%d given)"; const char *msg = "update() takes at most 1 positional argument (%d given)";
PyErr_Format(PyExc_TypeError, msg, len); PyErr_Format(PyExc_TypeError, msg, len);
return NULL; return NULL;
} }

View File

@ -8396,8 +8396,8 @@ charmap_encoding_error(
Py_ssize_t collstartpos = *inpos; Py_ssize_t collstartpos = *inpos;
Py_ssize_t collendpos = *inpos+1; Py_ssize_t collendpos = *inpos+1;
Py_ssize_t collpos; Py_ssize_t collpos;
char *encoding = "charmap"; const char *encoding = "charmap";
char *reason = "character maps to <undefined>"; const char *reason = "character maps to <undefined>";
charmapencode_result x; charmapencode_result x;
Py_UCS4 ch; Py_UCS4 ch;
int val; int val;
@ -8928,7 +8928,7 @@ _PyUnicode_TranslateCharmap(PyObject *input,
/* output buffer */ /* output buffer */
_PyUnicodeWriter writer; _PyUnicodeWriter writer;
/* error handler */ /* error handler */
char *reason = "character maps to <undefined>"; const char *reason = "character maps to <undefined>";
PyObject *errorHandler = NULL; PyObject *errorHandler = NULL;
PyObject *exc = NULL; PyObject *exc = NULL;
int ignore; int ignore;

View File

@ -1614,7 +1614,7 @@ SelectPythonDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
if (count == 0) { if (count == 0) {
char Buffer[4096]; char Buffer[4096];
char *msg; const char *msg;
if (target_version && target_version[0]) { if (target_version && target_version[0]) {
wsprintf(Buffer, wsprintf(Buffer,
"Python version %s required, which was not found" "Python version %s required, which was not found"

View File

@ -1942,7 +1942,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
/* If we're interactive, use (GNU) readline */ /* If we're interactive, use (GNU) readline */
if (tty) { if (tty) {
PyObject *po = NULL; PyObject *po = NULL;
char *promptstr; const char *promptstr;
char *s = NULL; char *s = NULL;
PyObject *stdin_encoding = NULL, *stdin_errors = NULL; PyObject *stdin_encoding = NULL, *stdin_errors = NULL;
PyObject *stdout_encoding = NULL, *stdout_errors = NULL; PyObject *stdout_encoding = NULL, *stdout_errors = NULL;

View File

@ -4846,7 +4846,7 @@ compiler_visit_nested_slice(struct compiler *c, slice_ty s,
static int static int
compiler_visit_slice(struct compiler *c, slice_ty s, expr_context_ty ctx) compiler_visit_slice(struct compiler *c, slice_ty s, expr_context_ty ctx)
{ {
char * kindname = NULL; const char * kindname = NULL;
switch (s->kind) { switch (s->kind) {
case Index_kind: case Index_kind:
kindname = "index"; kindname = "index";

View File

@ -196,7 +196,7 @@ _PyHash_Fini(void)
#ifdef Py_HASH_STATS #ifdef Py_HASH_STATS
int i; int i;
Py_ssize_t total = 0; Py_ssize_t total = 0;
char *fmt = "%2i %8" PY_FORMAT_SIZE_T "d %8" PY_FORMAT_SIZE_T "d\n"; const char *fmt = "%2i %8" PY_FORMAT_SIZE_T "d %8" PY_FORMAT_SIZE_T "d\n";
fprintf(stderr, "len calls total\n"); fprintf(stderr, "len calls total\n");
for (i = 1; i <= Py_HASH_STATS_MAX; i++) { for (i = 1; i <= Py_HASH_STATS_MAX; i++) {

View File

@ -597,7 +597,8 @@ Py_LOCAL_INLINE(char *)
ensure_decimal_point(char* buffer, size_t buf_size, int precision) ensure_decimal_point(char* buffer, size_t buf_size, int precision)
{ {
int digit_count, insert_count = 0, convert_to_exp = 0; int digit_count, insert_count = 0, convert_to_exp = 0;
char *chars_to_insert, *digits_start; const char *chars_to_insert;
char *digits_start;
/* search for the first non-digit character */ /* search for the first non-digit character */
char *p = buffer; char *p = buffer;

View File

@ -1300,7 +1300,7 @@ err_input(perrdetail *err)
{ {
PyObject *v, *w, *errtype, *errtext; PyObject *v, *w, *errtype, *errtext;
PyObject *msg_obj = NULL; PyObject *msg_obj = NULL;
char *msg = NULL; const char *msg = NULL;
int offset = err->offset; int offset = err->offset;
errtype = PyExc_SyntaxError; errtype = PyExc_SyntaxError;