bpo-36594: Fix incorrect use of %p in format strings (GH-12769)
In addition, fix some other minor violations of C99.
This commit is contained in:
parent
ae2c32f32b
commit
1a2252ed39
|
@ -0,0 +1,2 @@
|
||||||
|
Fix incorrect use of ``%p`` in format strings.
|
||||||
|
Patch by Zackery Spytz.
|
|
@ -87,7 +87,7 @@ EXPORT(void)testfunc_array(int values[4])
|
||||||
EXPORT(long double)testfunc_Ddd(double a, double b)
|
EXPORT(long double)testfunc_Ddd(double a, double b)
|
||||||
{
|
{
|
||||||
long double result = (long double)(a * b);
|
long double result = (long double)(a * b);
|
||||||
printf("testfunc_Ddd(%p, %p)\n", &a, &b);
|
printf("testfunc_Ddd(%p, %p)\n", (void *)&a, (void *)&b);
|
||||||
printf("testfunc_Ddd(%g, %g)\n", a, b);
|
printf("testfunc_Ddd(%g, %g)\n", a, b);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ EXPORT(long double)testfunc_Ddd(double a, double b)
|
||||||
EXPORT(long double)testfunc_DDD(long double a, long double b)
|
EXPORT(long double)testfunc_DDD(long double a, long double b)
|
||||||
{
|
{
|
||||||
long double result = a * b;
|
long double result = a * b;
|
||||||
printf("testfunc_DDD(%p, %p)\n", &a, &b);
|
printf("testfunc_DDD(%p, %p)\n", (void *)&a, (void *)&b);
|
||||||
printf("testfunc_DDD(%Lg, %Lg)\n", a, b);
|
printf("testfunc_DDD(%Lg, %Lg)\n", a, b);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,7 @@ EXPORT(long double)testfunc_DDD(long double a, long double b)
|
||||||
EXPORT(int)testfunc_iii(int a, int b)
|
EXPORT(int)testfunc_iii(int a, int b)
|
||||||
{
|
{
|
||||||
int result = a * b;
|
int result = a * b;
|
||||||
printf("testfunc_iii(%p, %p)\n", &a, &b);
|
printf("testfunc_iii(%p, %p)\n", (void *)&a, (void *)&b);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -361,7 +361,7 @@ static void _xxx_init(void *(*Xalloc)(int), void (*Xfree)(void *))
|
||||||
{
|
{
|
||||||
void *ptr;
|
void *ptr;
|
||||||
|
|
||||||
printf("_xxx_init got %p %p\n", Xalloc, Xfree);
|
printf("_xxx_init got %p %p\n", (void *)Xalloc, (void *)Xfree);
|
||||||
printf("calling\n");
|
printf("calling\n");
|
||||||
ptr = Xalloc(32);
|
ptr = Xalloc(32);
|
||||||
Xfree(ptr);
|
Xfree(ptr);
|
||||||
|
|
|
@ -531,11 +531,11 @@ PyCArg_repr(PyCArgObject *self)
|
||||||
default:
|
default:
|
||||||
if (is_literal_char((unsigned char)self->tag)) {
|
if (is_literal_char((unsigned char)self->tag)) {
|
||||||
sprintf(buffer, "<cparam '%c' at %p>",
|
sprintf(buffer, "<cparam '%c' at %p>",
|
||||||
(unsigned char)self->tag, self);
|
(unsigned char)self->tag, (void *)self);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sprintf(buffer, "<cparam 0x%02x at %p>",
|
sprintf(buffer, "<cparam 0x%02x at %p>",
|
||||||
(unsigned char)self->tag, self);
|
(unsigned char)self->tag, (void *)self);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1250,7 +1250,7 @@ _channel_finish_closing(struct _channel *chan) {
|
||||||
// Do the things that would have been done in _channels_close().
|
// Do the things that would have been done in _channels_close().
|
||||||
ref->chan = NULL;
|
ref->chan = NULL;
|
||||||
_channel_free(chan);
|
_channel_free(chan);
|
||||||
};
|
}
|
||||||
|
|
||||||
/* "high"-level channel-related functions */
|
/* "high"-level channel-related functions */
|
||||||
|
|
||||||
|
|
|
@ -240,7 +240,7 @@ _Py_hashtable_print_stats(_Py_hashtable_t *ht)
|
||||||
}
|
}
|
||||||
printf("hash table %p: entries=%"
|
printf("hash table %p: entries=%"
|
||||||
PY_FORMAT_SIZE_T "u/%" PY_FORMAT_SIZE_T "u (%.0f%%), ",
|
PY_FORMAT_SIZE_T "u/%" PY_FORMAT_SIZE_T "u (%.0f%%), ",
|
||||||
ht, ht->entries, ht->num_buckets, load * 100.0);
|
(void *)ht, ht->entries, ht->num_buckets, load * 100.0);
|
||||||
if (nchains)
|
if (nchains)
|
||||||
printf("avg_chain_len=%.1f, ", (double)total_chain_len / nchains);
|
printf("avg_chain_len=%.1f, ", (double)total_chain_len / nchains);
|
||||||
printf("max_chain_len=%" PY_FORMAT_SIZE_T "u, %" PY_FORMAT_SIZE_T "u KiB\n",
|
printf("max_chain_len=%" PY_FORMAT_SIZE_T "u, %" PY_FORMAT_SIZE_T "u KiB\n",
|
||||||
|
|
|
@ -385,7 +385,7 @@ PyObject_Print(PyObject *op, FILE *fp, int flags)
|
||||||
universally available */
|
universally available */
|
||||||
Py_BEGIN_ALLOW_THREADS
|
Py_BEGIN_ALLOW_THREADS
|
||||||
fprintf(fp, "<refcnt %ld at %p>",
|
fprintf(fp, "<refcnt %ld at %p>",
|
||||||
(long)op->ob_refcnt, op);
|
(long)op->ob_refcnt, (void *)op);
|
||||||
Py_END_ALLOW_THREADS
|
Py_END_ALLOW_THREADS
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -499,7 +499,7 @@ _PyObject_Dump(PyObject* op)
|
||||||
"address : %p\n",
|
"address : %p\n",
|
||||||
Py_TYPE(op)==NULL ? "NULL" : Py_TYPE(op)->tp_name,
|
Py_TYPE(op)==NULL ? "NULL" : Py_TYPE(op)->tp_name,
|
||||||
(long)op->ob_refcnt,
|
(long)op->ob_refcnt,
|
||||||
op);
|
(void *)op);
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1894,7 +1894,7 @@ _Py_PrintReferences(FILE *fp)
|
||||||
PyObject *op;
|
PyObject *op;
|
||||||
fprintf(fp, "Remaining objects:\n");
|
fprintf(fp, "Remaining objects:\n");
|
||||||
for (op = refchain._ob_next; op != &refchain; op = op->_ob_next) {
|
for (op = refchain._ob_next; op != &refchain; op = op->_ob_next) {
|
||||||
fprintf(fp, "%p [%" PY_FORMAT_SIZE_T "d] ", op, op->ob_refcnt);
|
fprintf(fp, "%p [%" PY_FORMAT_SIZE_T "d] ", (void *)op, op->ob_refcnt);
|
||||||
if (PyObject_Print(op, fp, 0) != 0)
|
if (PyObject_Print(op, fp, 0) != 0)
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
putc('\n', fp);
|
putc('\n', fp);
|
||||||
|
@ -1910,7 +1910,7 @@ _Py_PrintReferenceAddresses(FILE *fp)
|
||||||
PyObject *op;
|
PyObject *op;
|
||||||
fprintf(fp, "Remaining object addresses:\n");
|
fprintf(fp, "Remaining object addresses:\n");
|
||||||
for (op = refchain._ob_next; op != &refchain; op = op->_ob_next)
|
for (op = refchain._ob_next; op != &refchain; op = op->_ob_next)
|
||||||
fprintf(fp, "%p [%" PY_FORMAT_SIZE_T "d] %s\n", op,
|
fprintf(fp, "%p [%" PY_FORMAT_SIZE_T "d] %s\n", (void *)op,
|
||||||
op->ob_refcnt, Py_TYPE(op)->tp_name);
|
op->ob_refcnt, Py_TYPE(op)->tp_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2167,7 +2167,7 @@ _PyObject_AssertFailed(PyObject *obj, const char *expr, const char *msg,
|
||||||
fprintf(stderr, "<object: ob_type=NULL>\n");
|
fprintf(stderr, "<object: ob_type=NULL>\n");
|
||||||
}
|
}
|
||||||
else if (_PyObject_IsFreed((PyObject *)Py_TYPE(obj))) {
|
else if (_PyObject_IsFreed((PyObject *)Py_TYPE(obj))) {
|
||||||
fprintf(stderr, "<object: freed type %p>\n", Py_TYPE(obj));
|
fprintf(stderr, "<object: freed type %p>\n", (void *)Py_TYPE(obj));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* Diplay the traceback where the object has been allocated.
|
/* Diplay the traceback where the object has been allocated.
|
||||||
|
|
|
@ -2354,7 +2354,7 @@ _PyObject_DebugDumpAddress(const void *p)
|
||||||
}
|
}
|
||||||
|
|
||||||
tail = q + nbytes;
|
tail = q + nbytes;
|
||||||
fprintf(stderr, " The %d pad bytes at tail=%p are ", SST, tail);
|
fprintf(stderr, " The %d pad bytes at tail=%p are ", SST, (void *)tail);
|
||||||
ok = 1;
|
ok = 1;
|
||||||
for (i = 0; i < SST; ++i) {
|
for (i = 0; i < SST; ++i) {
|
||||||
if (tail[i] != FORBIDDENBYTE) {
|
if (tail[i] != FORBIDDENBYTE) {
|
||||||
|
|
|
@ -1251,7 +1251,7 @@ void *_PyUnicode_compact_data(void *unicode_raw) {
|
||||||
}
|
}
|
||||||
void *_PyUnicode_data(void *unicode_raw) {
|
void *_PyUnicode_data(void *unicode_raw) {
|
||||||
PyObject *unicode = _PyObject_CAST(unicode_raw);
|
PyObject *unicode = _PyObject_CAST(unicode_raw);
|
||||||
printf("obj %p\n", unicode);
|
printf("obj %p\n", (void*)unicode);
|
||||||
printf("compact %d\n", PyUnicode_IS_COMPACT(unicode));
|
printf("compact %d\n", PyUnicode_IS_COMPACT(unicode));
|
||||||
printf("compact ascii %d\n", PyUnicode_IS_COMPACT_ASCII(unicode));
|
printf("compact ascii %d\n", PyUnicode_IS_COMPACT_ASCII(unicode));
|
||||||
printf("ascii op %p\n", ((void*)((PyASCIIObject*)(unicode) + 1)));
|
printf("ascii op %p\n", ((void*)((PyASCIIObject*)(unicode) + 1)));
|
||||||
|
@ -1282,14 +1282,14 @@ _PyUnicode_Dump(PyObject *op)
|
||||||
|
|
||||||
if (ascii->wstr == data)
|
if (ascii->wstr == data)
|
||||||
printf("shared ");
|
printf("shared ");
|
||||||
printf("wstr=%p", ascii->wstr);
|
printf("wstr=%p", (void *)ascii->wstr);
|
||||||
|
|
||||||
if (!(ascii->state.ascii == 1 && ascii->state.compact == 1)) {
|
if (!(ascii->state.ascii == 1 && ascii->state.compact == 1)) {
|
||||||
printf(" (%" PY_FORMAT_SIZE_T "u), ", compact->wstr_length);
|
printf(" (%" PY_FORMAT_SIZE_T "u), ", compact->wstr_length);
|
||||||
if (!ascii->state.compact && compact->utf8 == unicode->data.any)
|
if (!ascii->state.compact && compact->utf8 == unicode->data.any)
|
||||||
printf("shared ");
|
printf("shared ");
|
||||||
printf("utf8=%p (%" PY_FORMAT_SIZE_T "u)",
|
printf("utf8=%p (%" PY_FORMAT_SIZE_T "u)",
|
||||||
compact->utf8, compact->utf8_length);
|
(void *)compact->utf8, compact->utf8_length);
|
||||||
}
|
}
|
||||||
printf(", data=%p\n", data);
|
printf(", data=%p\n", data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ main(int argc, char *argv[])
|
||||||
size_t i, end = Py_MIN(n + 16, data_size);
|
size_t i, end = Py_MIN(n + 16, data_size);
|
||||||
fprintf(outfile, " ");
|
fprintf(outfile, " ");
|
||||||
for (i = n; i < end; i++) {
|
for (i = n; i < end; i++) {
|
||||||
fprintf(outfile, "%d,", (unsigned int) data[i]);
|
fprintf(outfile, "%u,", (unsigned int) data[i]);
|
||||||
}
|
}
|
||||||
fprintf(outfile, "\n");
|
fprintf(outfile, "\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1750,7 +1750,7 @@ _alloc_preinit_entry(const wchar_t *value)
|
||||||
|
|
||||||
PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc);
|
PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc);
|
||||||
return node;
|
return node;
|
||||||
};
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_append_preinit_entry(_Py_PreInitEntry *optionlist, const wchar_t *value)
|
_append_preinit_entry(_Py_PreInitEntry *optionlist, const wchar_t *value)
|
||||||
|
@ -1772,7 +1772,7 @@ _append_preinit_entry(_Py_PreInitEntry *optionlist, const wchar_t *value)
|
||||||
last_entry->next = new_entry;
|
last_entry->next = new_entry;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
};
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_clear_preinit_entries(_Py_PreInitEntry *optionlist)
|
_clear_preinit_entries(_Py_PreInitEntry *optionlist)
|
||||||
|
@ -1789,7 +1789,7 @@ _clear_preinit_entries(_Py_PreInitEntry *optionlist)
|
||||||
current = next;
|
current = next;
|
||||||
}
|
}
|
||||||
PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc);
|
PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc);
|
||||||
};
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_clear_all_preinit_options(void)
|
_clear_all_preinit_options(void)
|
||||||
|
@ -1820,7 +1820,7 @@ _PySys_ReadPreInitOptions(void)
|
||||||
|
|
||||||
_clear_all_preinit_options();
|
_clear_all_preinit_options();
|
||||||
return 0;
|
return 0;
|
||||||
};
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
get_warnoptions(void)
|
get_warnoptions(void)
|
||||||
|
|
|
@ -339,7 +339,7 @@ PyThread_allocate_lock(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintf(("PyThread_allocate_lock() -> %p\n", lock));
|
dprintf(("PyThread_allocate_lock() -> %p\n", (void *)lock));
|
||||||
return (PyThread_type_lock)lock;
|
return (PyThread_type_lock)lock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -521,7 +521,7 @@ PyThread_allocate_lock(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintf(("PyThread_allocate_lock() -> %p\n", lock));
|
dprintf(("PyThread_allocate_lock() -> %p\n", (void *)lock));
|
||||||
return (PyThread_type_lock) lock;
|
return (PyThread_type_lock) lock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue