bpo-39943: Add the const qualifier to pointers on non-mutable PyBytes data. (GH-19472)

This commit is contained in:
Serhiy Storchaka 2020-04-12 14:58:27 +03:00 committed by GitHub
parent 3e0dd3730b
commit 8f87eefe7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 38 additions and 37 deletions

View File

@ -1310,7 +1310,7 @@ CharArray_get_value(CDataObject *self, void *Py_UNUSED(ignored))
static int
CharArray_set_value(CDataObject *self, PyObject *value, void *Py_UNUSED(ignored))
{
char *ptr;
const char *ptr;
Py_ssize_t size;
if (value == NULL) {

View File

@ -1384,7 +1384,7 @@ copy_com_pointer(PyObject *self, PyObject *args)
static PyObject *py_dl_open(PyObject *self, PyObject *args)
{
PyObject *name, *name2;
char *name_str;
const char *name_str;
void * handle;
#if HAVE_DECL_RTLD_LOCAL
int mode = RTLD_NOW | RTLD_LOCAL;

View File

@ -1283,7 +1283,7 @@ s_get(void *ptr, Py_ssize_t size)
static PyObject *
s_set(void *ptr, PyObject *value, Py_ssize_t length)
{
char *data;
const char *data;
Py_ssize_t size;
if(!PyBytes_Check(value)) {
@ -1321,7 +1321,7 @@ z_set(void *ptr, PyObject *value, Py_ssize_t size)
return value;
}
if (PyBytes_Check(value)) {
*(char **)ptr = PyBytes_AsString(value);
*(const char **)ptr = PyBytes_AsString(value);
Py_INCREF(value);
return value;
} else if (PyLong_Check(value)) {

View File

@ -709,7 +709,7 @@ _curses_window_addstr_impl(PyCursesWindowObject *self, int group_left_1,
else
#endif
{
char *str = PyBytes_AS_STRING(bytesobj);
const char *str = PyBytes_AS_STRING(bytesobj);
funcname = "addstr";
if (use_xy)
rtn = mvwaddstr(self->win,y,x,str);
@ -792,7 +792,7 @@ _curses_window_addnstr_impl(PyCursesWindowObject *self, int group_left_1,
else
#endif
{
char *str = PyBytes_AS_STRING(bytesobj);
const char *str = PyBytes_AS_STRING(bytesobj);
funcname = "addnstr";
if (use_xy)
rtn = mvwaddnstr(self->win,y,x,str,n);
@ -1710,7 +1710,7 @@ _curses_window_insstr_impl(PyCursesWindowObject *self, int group_left_1,
else
#endif
{
char *str = PyBytes_AS_STRING(bytesobj);
const char *str = PyBytes_AS_STRING(bytesobj);
funcname = "insstr";
if (use_xy)
rtn = mvwinsstr(self->win,y,x,str);
@ -1795,7 +1795,7 @@ _curses_window_insnstr_impl(PyCursesWindowObject *self, int group_left_1,
else
#endif
{
char *str = PyBytes_AS_STRING(bytesobj);
const char *str = PyBytes_AS_STRING(bytesobj);
funcname = "insnstr";
if (use_xy)
rtn = mvwinsnstr(self->win,y,x,str,n);

View File

@ -1153,7 +1153,7 @@ checkpath(PyObject* tag)
return 0;
}
if (PyBytes_Check(tag)) {
char *p = PyBytes_AS_STRING(tag);
const char *p = PyBytes_AS_STRING(tag);
const Py_ssize_t len = PyBytes_GET_SIZE(tag);
if (len >= 3 && p[0] == '{' && (
p[1] == '}' || (p[1] == '*' && p[2] == '}'))) {

View File

@ -393,7 +393,7 @@ _io_BytesIO_tell_impl(bytesio *self)
static PyObject *
read_bytes(bytesio *self, Py_ssize_t size)
{
char *output;
const char *output;
assert(self->buf != NULL);
assert(size <= self->string_size);
@ -502,7 +502,7 @@ _io_BytesIO_readlines_impl(bytesio *self, PyObject *arg)
{
Py_ssize_t maxsize, size, n;
PyObject *result, *line;
char *output;
const char *output;
CHECK_CLOSED(self);

View File

@ -2640,7 +2640,7 @@ _io_TextIOWrapper_tell_impl(textio *self)
Py_ssize_t chars_to_skip, chars_decoded;
Py_ssize_t skip_bytes, skip_back;
PyObject *saved_state = NULL;
char *input, *input_end;
const char *input, *input_end;
Py_ssize_t dec_buffer_len;
int dec_flags;

View File

@ -637,7 +637,7 @@ PyDoc_STRVAR(bindtextdomain__doc__,
static PyObject*
PyIntl_bindtextdomain(PyObject* self, PyObject*args)
{
char *domain, *dirname, *current_dirname;
const char *domain, *dirname, *current_dirname;
PyObject *dirname_obj, *dirname_bytes = NULL, *result;
if (!PyArg_ParseTuple(args, "sO", &domain, &dirname_obj))

View File

@ -79,7 +79,7 @@ int pysqlite_connection_init(pysqlite_Connection* self, PyObject* args, PyObject
NULL
};
char* database;
const char* database;
PyObject* database_obj;
int detect_types = 0;
PyObject* isolation_level = NULL;

View File

@ -4037,7 +4037,7 @@ error:
/* internal helper function, returns -1 on error
*/
static int
_add_ca_certs(PySSLContext *self, void *data, Py_ssize_t len,
_add_ca_certs(PySSLContext *self, const void *data, Py_ssize_t len,
int filetype)
{
BIO *biobuf = NULL;

View File

@ -1785,7 +1785,7 @@ s_pack_internal(PyStructObject *soself, PyObject *const *args, int offset, char*
if (e->format == 's') {
Py_ssize_t n;
int isstring;
void *p;
const void *p;
isstring = PyBytes_Check(v);
if (!isstring && !PyByteArray_Check(v)) {
PyErr_SetString(_structmodulestate_global->StructError,
@ -1807,7 +1807,7 @@ s_pack_internal(PyStructObject *soself, PyObject *const *args, int offset, char*
} else if (e->format == 'p') {
Py_ssize_t n;
int isstring;
void *p;
const void *p;
isstring = PyBytes_Check(v);
if (!isstring && !PyByteArray_Check(v)) {
PyErr_SetString(_structmodulestate_global->StructError,

View File

@ -574,9 +574,9 @@ SplitObj(PyObject *arg)
else if (PyBytes_Check(arg)) {
int argc;
const char **argv;
char *list = PyBytes_AS_STRING(arg);
const char *list = PyBytes_AS_STRING(arg);
if (Tcl_SplitList((Tcl_Interp *)NULL, list, &argc, &argv) != TCL_OK) {
if (Tcl_SplitList((Tcl_Interp *)NULL, (char *)list, &argc, &argv) != TCL_OK) {
Py_INCREF(arg);
return arg;
}

View File

@ -1246,7 +1246,7 @@ _multibytecodec_MultibyteIncrementalDecoder_setstate_impl(MultibyteIncrementalDe
PyObject *buffer;
PyLongObject *statelong;
Py_ssize_t buffersize;
char *bufferstr;
const char *bufferstr;
unsigned char statebytes[8];
if (!PyArg_ParseTuple(state, "SO!;setstate(): illegal state argument",

View File

@ -234,7 +234,7 @@ static PyObject *
write_history_file(PyObject *self, PyObject *args)
{
PyObject *filename_obj = Py_None, *filename_bytes;
char *filename;
const char *filename;
int err;
if (!PyArg_ParseTuple(args, "|O:write_history_file", &filename_obj))
return NULL;
@ -270,7 +270,7 @@ append_history_file(PyObject *self, PyObject *args)
{
int nelements;
PyObject *filename_obj = Py_None, *filename_bytes;
char *filename;
const char *filename;
int err;
if (!PyArg_ParseTuple(args, "i|O:append_history_file", &nelements, &filename_obj))
return NULL;

View File

@ -1598,7 +1598,7 @@ bytes_subscript(PyBytesObject* self, PyObject* item)
else if (PySlice_Check(item)) {
Py_ssize_t start, stop, step, slicelength, i;
size_t cur;
char* source_buf;
const char* source_buf;
char* result_buf;
PyObject* result;
@ -1863,7 +1863,7 @@ Py_LOCAL_INLINE(PyObject *)
do_xstrip(PyBytesObject *self, int striptype, PyObject *sepobj)
{
Py_buffer vsep;
char *s = PyBytes_AS_STRING(self);
const char *s = PyBytes_AS_STRING(self);
Py_ssize_t len = PyBytes_GET_SIZE(self);
char *sep;
Py_ssize_t seplen;
@ -1903,7 +1903,7 @@ do_xstrip(PyBytesObject *self, int striptype, PyObject *sepobj)
Py_LOCAL_INLINE(PyObject *)
do_strip(PyBytesObject *self, int striptype)
{
char *s = PyBytes_AS_STRING(self);
const char *s = PyBytes_AS_STRING(self);
Py_ssize_t len = PyBytes_GET_SIZE(self), i, j;
i = 0;
@ -2020,7 +2020,8 @@ bytes_translate_impl(PyBytesObject *self, PyObject *table,
PyObject *deletechars)
/*[clinic end generated code: output=43be3437f1956211 input=0ecdf159f654233c]*/
{
char *input, *output;
const char *input;
char *output;
Py_buffer table_view = {NULL, NULL};
Py_buffer del_table_view = {NULL, NULL};
const char *table_chars;
@ -2371,7 +2372,7 @@ static PyObject *
bytes_hex_impl(PyBytesObject *self, PyObject *sep, int bytes_per_sep)
/*[clinic end generated code: output=1f134da504064139 input=f1238d3455990218]*/
{
char* argbuf = PyBytes_AS_STRING(self);
const char *argbuf = PyBytes_AS_STRING(self);
Py_ssize_t arglen = PyBytes_GET_SIZE(self);
return _Py_strhex_with_sep(argbuf, arglen, sep, bytes_per_sep);
}
@ -3188,7 +3189,7 @@ _PyBytesWriter_AsString(_PyBytesWriter *writer)
Py_LOCAL_INLINE(Py_ssize_t)
_PyBytesWriter_GetSize(_PyBytesWriter *writer, char *str)
{
char *start = _PyBytesWriter_AsString(writer);
const char *start = _PyBytesWriter_AsString(writer);
assert(str != NULL);
assert(str >= start);
assert(str - start <= writer->allocated);
@ -3199,7 +3200,7 @@ _PyBytesWriter_GetSize(_PyBytesWriter *writer, char *str)
Py_LOCAL_INLINE(int)
_PyBytesWriter_CheckConsistency(_PyBytesWriter *writer, char *str)
{
char *start, *end;
const char *start, *end;
if (writer->use_small_buffer) {
assert(writer->buffer == NULL);

View File

@ -76,7 +76,7 @@ PyFile_GetLine(PyObject *f, int n)
}
if (n < 0 && result != NULL && PyBytes_Check(result)) {
char *s = PyBytes_AS_STRING(result);
const char *s = PyBytes_AS_STRING(result);
Py_ssize_t len = PyBytes_GET_SIZE(result);
if (len == 0) {
Py_DECREF(result);

View File

@ -5071,7 +5071,7 @@ long_new_impl(PyTypeObject *type, PyObject *x, PyObject *obase)
if (PyUnicode_Check(x))
return PyLong_FromUnicodeObject(x, (int)base);
else if (PyByteArray_Check(x) || PyBytes_Check(x)) {
char *string;
const char *string;
if (PyByteArray_Check(x))
string = PyByteArray_AS_STRING(x);
else

View File

@ -7,8 +7,8 @@
Py_LOCAL_INLINE(PyObject *)
STRINGLIB(bytes_join)(PyObject *sep, PyObject *iterable)
{
char *sepstr = STRINGLIB_STR(sep);
const Py_ssize_t seplen = STRINGLIB_LEN(sep);
const char *sepstr = STRINGLIB_STR(sep);
Py_ssize_t seplen = STRINGLIB_LEN(sep);
PyObject *res = NULL;
char *p;
Py_ssize_t seqlen = 0;

View File

@ -3887,7 +3887,7 @@ PyUnicode_FSConverter(PyObject* arg, void* addr)
PyObject *path = NULL;
PyObject *output = NULL;
Py_ssize_t size;
void *data;
const char *data;
if (arg == NULL) {
Py_DECREF(*(PyObject**)addr);
*(PyObject**)addr = NULL;
@ -4718,7 +4718,7 @@ _PyUnicode_EncodeUTF7(PyObject *str,
unsigned int base64bits = 0;
unsigned long base64buffer = 0;
char * out;
char * start;
const char * start;
if (PyUnicode_READY(str) == -1)
return NULL;
@ -5446,7 +5446,7 @@ unicode_fill_utf8(PyObject *unicode)
return -1;
}
char *start = writer.use_small_buffer ? writer.small_buffer :
const char *start = writer.use_small_buffer ? writer.small_buffer :
PyBytes_AS_STRING(writer.buffer);
Py_ssize_t len = end - start;

View File

@ -1452,7 +1452,7 @@ _Py_fopen_obj(PyObject *path, const char *mode)
&& errno == EINTR && !(async_err = PyErr_CheckSignals()));
#else
PyObject *bytes;
char *path_bytes;
const char *path_bytes;
assert(PyGILState_Check());