_Py_PrintReferenceAddresses,_Py_PrintReferences:
interpolate PY_FORMAT_SIZE_T for refcount display
instead of casting refcounts to long.
I understand that gcc on some boxes delivers
nuisance warnings about this, but if any new ones
appear because of this they'll get fixed by magic
when the others get fixed.
diff --git a/Objects/object.c b/Objects/object.c
index e73dad5..e15218f 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1900,9 +1900,7 @@
PyObject *op;
fprintf(fp, "Remaining objects:\n");
for (op = refchain._ob_next; op != &refchain; op = op->_ob_next) {
- /* XXX(twouters) cast refcount to long until %zd is
- universally available */
- fprintf(fp, "%p [%ld] ", op, (long)op->ob_refcnt);
+ fprintf(fp, "%p [%" PY_FORMAT_SIZE_T "d] ", op, op->ob_refcnt);
if (PyObject_Print(op, fp, 0) != 0)
PyErr_Clear();
putc('\n', fp);
@@ -1918,10 +1916,8 @@
PyObject *op;
fprintf(fp, "Remaining object addresses:\n");
for (op = refchain._ob_next; op != &refchain; op = op->_ob_next)
- /* XXX(twouters) cast refcount to long until %zd is
- universally available */
- fprintf(fp, "%p [%ld] %s\n", op, (long)op->ob_refcnt,
- op->ob_type->tp_name);
+ fprintf(fp, "%p [%" PY_FORMAT_SIZE_T "d] %s\n", op,
+ op->ob_refcnt, op->ob_type->tp_name);
}
PyObject *