]> granicus.if.org Git - python/commitdiff
Use %ld and casts to long for refcount printing, in absense of a universally
authorThomas Wouters <thomas@python.org>
Wed, 1 Mar 2006 05:41:20 +0000 (05:41 +0000)
committerThomas Wouters <thomas@python.org>
Wed, 1 Mar 2006 05:41:20 +0000 (05:41 +0000)
available %zd format character. Mark with an XXX comment so we can fix this,
later.

Objects/floatobject.c
Objects/intobject.c
Objects/object.c

index bc19a5b7b9c8f50d222dcf244cf2a2b6914ddf35..c27a41a060e9de1c3e415f725377d78be32c2b2c 100644 (file)
@@ -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;
index b0876aea0c7dbffaaedcfaa21f62c9d0e58051c6..d7a64be604008dac1dda547dd3f0bdb4c3e889e4 100644 (file)
@@ -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;
                }
index 606b3fc0c297d793f6c317ffdc9ade3d70f74105..7b905dcd8bfc3452b4a16e544b327db927b0b4a2 100644 (file)
@@ -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);
 }