summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/api/concrete.tex5
-rw-r--r--Doc/api/refcounts.dat1
-rw-r--r--Include/floatobject.h6
-rw-r--r--Misc/NEWS3
-rw-r--r--Objects/abstract.c2
-rw-r--r--Objects/floatobject.c22
6 files changed, 10 insertions, 29 deletions
diff --git a/Doc/api/concrete.tex b/Doc/api/concrete.tex
index e2d3e52..630a726 100644
--- a/Doc/api/concrete.tex
+++ b/Doc/api/concrete.tex
@@ -430,10 +430,9 @@ booleans. The following macros are available, however.
\versionadded{2.2}
\end{cfuncdesc}
-\begin{cfuncdesc}{PyObject*}{PyFloat_FromString}{PyObject *str, char **pend}
+\begin{cfuncdesc}{PyObject*}{PyFloat_FromString}{PyObject *str}
Create a \ctype{PyFloatObject} object based on the string value in
- \var{str}, or \NULL{} on failure. The \var{pend} argument is ignored. It
- remains only for backward compatibility.
+ \var{str}, or \NULL{} on failure.
\end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyFloat_FromDouble}{double v}
diff --git a/Doc/api/refcounts.dat b/Doc/api/refcounts.dat
index 019bfd4..54197c8 100644
--- a/Doc/api/refcounts.dat
+++ b/Doc/api/refcounts.dat
@@ -385,7 +385,6 @@ PyFloat_FromDouble:double:v::
PyFloat_FromString:PyObject*::+1:
PyFloat_FromString:PyObject*:str:0:
-PyFloat_FromString:char**:pend:0:ignored
PyFrozenSet_New:PyObject*::+1:
PyFrozenSet_New:PyObject*:iterable:0:
diff --git a/Include/floatobject.h b/Include/floatobject.h
index c3c18af..b535e34 100644
--- a/Include/floatobject.h
+++ b/Include/floatobject.h
@@ -21,10 +21,8 @@ PyAPI_DATA(PyTypeObject) PyFloat_Type;
#define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
#define PyFloat_CheckExact(op) ((op)->ob_type == &PyFloat_Type)
-/* Return Python float from string PyObject. Second argument ignored on
- input, and, if non-NULL, NULL is stored into *junk (this tried to serve a
- purpose once but can't be made to work as intended). */
-PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*, char** junk);
+/* Return Python float from string PyObject. */
+PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*);
/* Return Python float from C double. */
PyAPI_FUNC(PyObject *) PyFloat_FromDouble(double);
diff --git a/Misc/NEWS b/Misc/NEWS
index 7791a45..e7ac139 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -28,6 +28,9 @@ TO DO
Core and Builtins
-----------------
+- The long-deprecated argument "pend" of PyFloat_FromString() has been
+ removed.
+
- The dir() function has been extended to call the __dir__() method on
its argument, if it exists. If not, it will work like before. This allows
customizing the output of dir() in the presence of a __getattr__().
diff --git a/Objects/abstract.c b/Objects/abstract.c
index a301287..5a34b96 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -968,7 +968,7 @@ PyNumber_Float(PyObject *o)
PyFloatObject *po = (PyFloatObject *)o;
return PyFloat_FromDouble(po->ob_fval);
}
- return PyFloat_FromString(o, NULL);
+ return PyFloat_FromString(o);
}
/* Operations on sequences */
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 514dd39..9e6db54 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -62,24 +62,8 @@ PyFloat_FromDouble(double fval)
return (PyObject *) op;
}
-/**************************************************************************
-RED_FLAG 22-Sep-2000 tim
-PyFloat_FromString's pend argument is braindead. Prior to this RED_FLAG,
-
-1. If v was a regular string, *pend was set to point to its terminating
- null byte. That's useless (the caller can find that without any
- help from this function!).
-
-2. If v was a Unicode string, or an object convertible to a character
- buffer, *pend was set to point into stack trash (the auto temp
- vector holding the character buffer). That was downright dangerous.
-
-Since we can't change the interface of a public API function, pend is
-still supported but now *officially* useless: if pend is not NULL,
-*pend is set to NULL.
-**************************************************************************/
PyObject *
-PyFloat_FromString(PyObject *v, char **pend)
+PyFloat_FromString(PyObject *v)
{
const char *s, *last, *end;
double x;
@@ -89,8 +73,6 @@ PyFloat_FromString(PyObject *v, char **pend)
#endif
Py_ssize_t len;
- if (pend)
- *pend = NULL;
if (PyString_Check(v)) {
s = PyString_AS_STRING(v);
len = PyString_GET_SIZE(v);
@@ -852,7 +834,7 @@ float_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O:float", kwlist, &x))
return NULL;
if (PyString_Check(x))
- return PyFloat_FromString(x, NULL);
+ return PyFloat_FromString(x);
return PyNumber_Float(x);
}