From: Thomas Wouters <thomas@python.org>
Date: Wed, 1 Mar 2006 05:41:20 +0000 (+0000)
Subject: Use %ld and casts to long for refcount printing, in absense of a universally
X-Git-Tag: v2.5a0~444
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b87a0b5fcc3db361d720c365273114eef5d9467;p=python

Use %ld and casts to long for refcount printing, in absense of a universally
available %zd format character. Mark with an XXX comment so we can fix this,
later.
---

diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index bc19a5b7b9..c27a41a060 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -1326,9 +1326,13 @@ PyFloat_Fini(void)
 				    p->ob_refcnt != 0) {
 					char buf[100];
 					PyFloat_AsString(buf, p);
+					/* XXX(twouters) cast refcount to
+					   long until %zd is universally
+					   available
+					 */
 					fprintf(stderr,
-			     "#   <float at %p, refcnt=%d, val=%s>\n",
-						p, p->ob_refcnt, buf);
+			     "#   <float at %p, refcnt=%ld, val=%s>\n",
+						p, (long)p->ob_refcnt, buf);
 				}
 			}
 			list = list->next;
diff --git a/Objects/intobject.c b/Objects/intobject.c
index b0876aea0c..d7a64be604 100644
--- a/Objects/intobject.c
+++ b/Objects/intobject.c
@@ -1220,9 +1220,14 @@ PyInt_Fini(void)
 			     i < N_INTOBJECTS;
 			     i++, p++) {
 				if (PyInt_CheckExact(p) && p->ob_refcnt != 0)
+					/* XXX(twouters) cast refcount to
+					   long until %zd is universally
+					   available
+					 */
 					fprintf(stderr,
-				"#   <int at %p, refcnt=%d, val=%ld>\n",
-						p, p->ob_refcnt, p->ob_ival);
+				"#   <int at %p, refcnt=%ld, val=%ld>\n",
+						p, (long)p->ob_refcnt,
+						p->ob_ival);
 			}
 			list = list->next;
 		}
diff --git a/Objects/object.c b/Objects/object.c
index 606b3fc0c2..7b905dcd8b 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -138,9 +138,11 @@ _Py_NegativeRefcount(const char *fname, int lineno, PyObject *op)
 {
 	char buf[300];
 
+	/* XXX(twouters) cast refcount to long until %zd is universally
+	   available */
 	PyOS_snprintf(buf, sizeof(buf),
-		      "%s:%i object at %p has negative ref count %i",
-		      fname, lineno, op, op->ob_refcnt);
+		      "%s:%i object at %p has negative ref count %ld",
+		      fname, lineno, op, (long)op->ob_refcnt);
 	Py_FatalError(buf);
 }
 
@@ -233,8 +235,10 @@ internal_print(PyObject *op, FILE *fp, int flags, int nesting)
 	}
 	else {
 		if (op->ob_refcnt <= 0)
-			fprintf(fp, "<refcnt %u at %p>",
-				op->ob_refcnt, op);
+			/* XXX(twouters) cast refcount to long until %zd is
+			   universally available */
+			fprintf(fp, "<refcnt %ld at %p>",
+				(long)op->ob_refcnt, op);
 		else if (op->ob_type->tp_print == NULL) {
 			PyObject *s;
 			if (flags & Py_PRINT_RAW)
@@ -277,12 +281,14 @@ void _PyObject_Dump(PyObject* op)
 	else {
 		fprintf(stderr, "object  : ");
 		(void)PyObject_Print(op, stderr, 0);
+		/* XXX(twouters) cast refcount to long until %zd is
+		   universally available */
 		fprintf(stderr, "\n"
 			"type    : %s\n"
-			"refcount: %d\n"
+			"refcount: %ld\n"
 			"address : %p\n",
 			op->ob_type==NULL ? "NULL" : op->ob_type->tp_name,
-			op->ob_refcnt,
+			(long)op->ob_refcnt,
 			op);
 	}
 }
@@ -1893,7 +1899,9 @@ _Py_PrintReferences(FILE *fp)
 	PyObject *op;
 	fprintf(fp, "Remaining objects:\n");
 	for (op = refchain._ob_next; op != &refchain; op = op->_ob_next) {
-		fprintf(fp, "%p [%d] ", op, op->ob_refcnt);
+		/* XXX(twouters) cast refcount to long until %zd is
+		   universally available */
+		fprintf(fp, "%p [%ld] ", op, (long)op->ob_refcnt);
 		if (PyObject_Print(op, fp, 0) != 0)
 			PyErr_Clear();
 		putc('\n', fp);
@@ -1909,7 +1917,9 @@ _Py_PrintReferenceAddresses(FILE *fp)
 	PyObject *op;
 	fprintf(fp, "Remaining object addresses:\n");
 	for (op = refchain._ob_next; op != &refchain; op = op->_ob_next)
-		fprintf(fp, "%p [%d] %s\n", op, op->ob_refcnt,
+		/* 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);
 }