ANY becomes void, to reflect the requirement for ANSI C.
diff --git a/Doc/api/api.tex b/Doc/api/api.tex
index 367cb06..6862988 100644
--- a/Doc/api/api.tex
+++ b/Doc/api/api.tex
@@ -3037,10 +3037,8 @@
\samp{len(\var{p})} on a dictionary.\bifuncindex{len}
\end{cfuncdesc}
-\begin{cfuncdesc}{int}{PyDict_Next}{PyDictObject *p,
- int ppos,
- PyObject **pkey,
- PyObject **pvalue}
+\begin{cfuncdesc}{int}{PyDict_Next}{PyDictObject *p, int *ppos,
+ PyObject **pkey, PyObject **pvalue}
\end{cfuncdesc}
@@ -4216,18 +4214,13 @@
available for allocating and releasing memory from the Python heap:
-\begin{ctypedesc}{ANY*}
-The type used to represent arbitrary blocks of memory. Values of this
-type should be cast to the specific type that is needed.
-\end{ctypedesc}
-
-\begin{cfuncdesc}{ANY*}{PyMem_Malloc}{size_t n}
-Allocates \var{n} bytes and returns a pointer of type \ctype{ANY*} to
+\begin{cfuncdesc}{void*}{PyMem_Malloc}{size_t n}
+Allocates \var{n} bytes and returns a pointer of type \ctype{void*} to
the allocated memory, or \NULL{} if the request fails. Requesting zero
bytes returns a non-\NULL{} pointer.
\end{cfuncdesc}
-\begin{cfuncdesc}{ANY*}{PyMem_Realloc}{ANY *p, size_t n}
+\begin{cfuncdesc}{void*}{PyMem_Realloc}{void *p, size_t n}
Resizes the memory block pointed to by \var{p} to \var{n} bytes. The
contents will be unchanged to the minimum of the old and the new
sizes. If \var{p} is \NULL{}, the call is equivalent to
@@ -4237,7 +4230,7 @@
call to \cfunction{PyMem_Malloc()} or \cfunction{PyMem_Realloc()}.
\end{cfuncdesc}
-\begin{cfuncdesc}{void}{PyMem_Free}{ANY *p}
+\begin{cfuncdesc}{void}{PyMem_Free}{void *p}
Frees the memory block pointed to by \var{p}, which must have been
returned by a previous call to \cfunction{PyMem_Malloc()} or
\cfunction{PyMem_Realloc()}. Otherwise, or if
@@ -4245,17 +4238,17 @@
occurs. If \var{p} is \NULL{}, no operation is performed.
\end{cfuncdesc}
-\begin{cfuncdesc}{ANY*}{Py_Malloc}{size_t n}
+\begin{cfuncdesc}{void*}{Py_Malloc}{size_t n}
Same as \cfunction{PyMem_Malloc()}, but calls
\cfunction{PyErr_NoMemory()} on failure.
\end{cfuncdesc}
-\begin{cfuncdesc}{ANY*}{Py_Realloc}{ANY *p, size_t n}
+\begin{cfuncdesc}{void*}{Py_Realloc}{void *p, size_t n}
Same as \cfunction{PyMem_Realloc()}, but calls
\cfunction{PyErr_NoMemory()} on failure.
\end{cfuncdesc}
-\begin{cfuncdesc}{void}{Py_Free}{ANY *p}
+\begin{cfuncdesc}{void}{Py_Free}{void *p}
Same as \cfunction{PyMem_Free()}.
\end{cfuncdesc}
@@ -4268,13 +4261,13 @@
\ctype{\var{TYPE}*}.
\end{cfuncdesc}
-\begin{cfuncdesc}{\var{TYPE}*}{PyMem_RESIZE}{ANY *p, TYPE, size_t n}
+\begin{cfuncdesc}{\var{TYPE}*}{PyMem_RESIZE}{void *p, TYPE, size_t n}
Same as \cfunction{PyMem_Realloc()}, but the memory block is resized
to \code{(\var{n} * sizeof(\var{TYPE}))} bytes. Returns a pointer
cast to \ctype{\var{TYPE}*}.
\end{cfuncdesc}
-\begin{cfuncdesc}{void}{PyMem_DEL}{ANY *p}
+\begin{cfuncdesc}{void}{PyMem_DEL}{void *p}
Same as \cfunction{PyMem_Free()}.
\end{cfuncdesc}