From: Georg Brandl Date: Fri, 2 Mar 2007 20:30:19 +0000 (+0000) Subject: Bugs #1668032, #1668036, #1669304: clarify behavior of PyMem_Realloc and _Resize. X-Git-Tag: v2.5.1c1~95 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ebfcfb015e50d32b9e628c67a7f62dcf6ada3078;p=python Bugs #1668032, #1668036, #1669304: clarify behavior of PyMem_Realloc and _Resize. (backport from rev. 54088) --- diff --git a/Doc/api/memory.tex b/Doc/api/memory.tex index 4bc2c7ad00..18abe98388 100644 --- a/Doc/api/memory.tex +++ b/Doc/api/memory.tex @@ -100,7 +100,9 @@ are available for allocating and releasing memory from the Python heap: memory block is resized but is not freed, and the returned pointer is non-\NULL. Unless \var{p} is \NULL, it must have been returned by a previous call to \cfunction{PyMem_Malloc()} or - \cfunction{PyMem_Realloc()}. + \cfunction{PyMem_Realloc()}. If the request fails, + \cfunction{PyMem_Realloc()} returns \NULL{} and \var{p} remains a + valid pointer to the previous memory area. \end{cfuncdesc} \begin{cfuncdesc}{void}{PyMem_Free}{void *p} @@ -124,7 +126,8 @@ that \var{TYPE} refers to any C type. \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}*}. + cast to \ctype{\var{TYPE}*}. On return, \var{p} will be a pointer to + the new memory area, or \NULL{} in the event of failure. \end{cfuncdesc} \begin{cfuncdesc}{void}{PyMem_Del}{void *p}