realloc(3p) - phpMan

REALLOC(3P)                POSIX Programmer's Manual               REALLOC(3P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.
NAME
       realloc - memory reallocator
SYNOPSIS
       #include <stdlib.h>
       void *realloc(void *ptr, size_t size);

DESCRIPTION
       The realloc() function shall change  the  size  of  the  memory  object
       pointed  to  by  ptr to the size specified by size. The contents of the
       object shall remain unchanged up to the  lesser  of  the  new  and  old
       sizes.  If  the new size of the memory object would require movement of
       the object, the space for the previous instantiation of the  object  is
       freed.  If  the new size is larger, the contents of the newly allocated
       portion of the object are unspecified. If size is 0 and ptr  is  not  a
       null  pointer,  the  object pointed to is freed. If the space cannot be
       allocated, the object shall remain unchanged.
       If ptr is a null pointer, realloc() shall be equivalent to malloc() for
       the specified size.
       If ptr does not match a pointer returned earlier by calloc(), malloc(),
       or realloc() or if the space has previously been deallocated by a  call
       to free() or realloc(), the behavior is undefined.
       The  order  and  contiguity of storage allocated by successive calls to
       realloc() is unspecified. The pointer returned if the  allocation  suc-
       ceeds shall be suitably aligned so that it may be assigned to a pointer
       to any type of object and then used to access such  an  object  in  the
       space  allocated  (until the space is explicitly freed or reallocated).
       Each such allocation shall yield a pointer to an object  disjoint  from
       any other object. The pointer returned shall point to the start (lowest
       byte address) of the allocated space. If the space cannot be allocated,
       a null pointer shall be returned.
RETURN VALUE
       Upon  successful completion with a size not equal to 0, realloc() shall
       return a pointer to the (possibly moved) allocated space. If size is 0,
       either  a  null  pointer  or  a unique pointer that can be successfully
       passed to free() shall be returned.  If there is not  enough  available
       memory,  realloc()  shall  return  a  null  pointer   and  set errno to
       [ENOMEM].
ERRORS
       The realloc() function shall fail if:
       ENOMEM Insufficient memory is available.

       The following sections are informative.
EXAMPLES
       None.
APPLICATION USAGE
       None.
RATIONALE
       None.
FUTURE DIRECTIONS
       None.
SEE ALSO
       calloc(),  free(),   malloc(),   the   Base   Definitions   volume   of
       IEEE Std 1003.1-2001, <stdlib.h>
COPYRIGHT
       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group                  2003                          REALLOC(3P)