]> granicus.if.org Git - python/commitdiff
Fix build on FreeBSD gcc.
authorHye-Shik Chang <hyeshik@gmail.com>
Sat, 21 Jun 2008 11:15:30 +0000 (11:15 +0000)
committerHye-Shik Chang <hyeshik@gmail.com>
Sat, 21 Jun 2008 11:15:30 +0000 (11:15 +0000)
Objects/floatobject.c

index bbe8a196162a91b7013cf0c785a3236e86eada50..f8d1207b83f83131c955b94677421c2cd7e1d16c 100644 (file)
@@ -405,11 +405,11 @@ PyFloat_AsStringEx(char *buf, PyFloatObject *v, int precision)
    obj is not of float, int or long type, Py_NotImplemented is incref'ed,
    stored in obj, and returned from the function invoking this macro.
 */
-#define CONVERT_TO_DOUBLE(obj, dbl)                    \
-       if (PyFloat_Check(obj))                         \
-               dbl = PyFloat_AS_DOUBLE(obj);           \
-       else if (convert_to_double(&(obj), &(dbl)) < 0) \
-               return obj;
+#define CONVERT_TO_DOUBLE(obj, dbl)                                    \
+       if (PyFloat_Check(obj))                                         \
+               dbl = PyFloat_AS_DOUBLE(obj);                           \
+       else if (convert_to_double((PyObject **)&(obj), &(dbl)) < 0)    \
+               return (PyObject *)(obj);
 
 static int
 convert_to_double(PyObject **v, double *dbl)
@@ -1212,7 +1212,7 @@ _float_to_base(PyFloatObject *v, unaryfunc int_to_base)
        int i, exp, n;
        char *conv_str;
 
-       CONVERT_TO_DOUBLE(((PyObject *)v), x);
+       CONVERT_TO_DOUBLE(v, x);
        if (!Py_IS_FINITE(x))
                return PyObject_Repr((PyObject *)v);
        fr = frexp(x, &exp);