worst case length = 3 + 10 (len of INT_MAX) + 1 = 14 (use 20)*/
char fmt[20];
double x;
- if (!PyArg_Parse(v, "d;float argument required", &x))
+ v = PyNumber_Float(v);
+ if (!v)
return -1;
+ x = PyFloat_AS_DOUBLE(v);
+ Py_DECREF(v);
if (prec < 0)
prec = 6;
if (type == 'f' && fabs(x)/1e25 >= 1e25)
char fmt[64]; /* plenty big enough! */
long x;
- if (!PyArg_Parse(v, "l;int argument required", &x))
+ v = PyNumber_Int(v);
+ if (!v)
return -1;
+ x = PyInt_AS_LONG(v);
+ Py_DECREF(v);
if (prec < 0)
prec = 1;