Provided by: aolserver4-dev_4.5.1-16_amd64 bug

NAME

       ns_calloc, ns_free, ns_malloc, ns_realloc - Memory allocation functions

SYNOPSIS

       #include "ns.h"

       void *
       ns_calloc(size_t num, size_t esize)

       void
       ns_free(void *ptr)

       void *
       ns_malloc(size_t size)

       void *
       ns_realloc(void *ptr, size_t size)
_________________________________________________________________

DESCRIPTION

       The  AOLserver  memory  storage allocation code was moved into Tcl core beginning with Tcl
       8.4.0. Starting with AOLserver 3.5, these memory allocation functions  are  wrappers  that
       call  Tcl_Alloc  and Tcl_Free. Earlier versions of AOLserver used this fast memory storage
       allocator internally, or the platform's memory allocator depending on how  you  configured
       it.

       The  actual  amount  of  memory  allocated  or  freed will be different from the requested
       amount.  This is because the fast memory allocation code  pools  memory  into  chunks  and
       manages  that  memory  internally.   In  addition, the Tcl distribution may be compiled to
       allocate even more memory which is used internally for diagnostic reasons.  Using  ns_free
       to  free  memory  created  by routines other than ns_malloc, ns_realloc and ns_calloc will
       almost certainly result in segmentation faults or undefined behavior.

       The lowercase and mixed-case versions are identical; the lowercase versions are preferred.

       ns_calloc(num, esize)
              Allocates a block of memory that is num * esize large,  zeros  it,  and  returns  a
              pointer to the beginning of the memory block or NULL if the operation fails.

       ns_free(ptr)
              ns_free()  frees  the  memory  space pointed to by ptr. This pointer must have been
              created with a previous call to ns_malloc(), ns_calloc() or ns_realloc().   If  ptr
              is NULL, no operation is performed. ns_free() returns no value.

       ns_malloc(size)
              ns_malloc()  allocates  size  bytes  and returns a pointer to the allocated memory.
              The memory is not cleared. The value returned is a pointer to the allocated  memory
              or NULL if the request fails.  The memory must be freed by ns_free.

       ns_realloc(ptr, size)
              ns_realloc  changes  the  size of the memory block pointed to by ptr to size bytes.
              The contents will be unchanged to the minimum of  the  old  and  new  sizes.  Newly
              allocated  memory will be uninitialized.  If ptr is NULL, the call is equivalent to
              ns_malloc(size); if size is equal to zero, the call is equivalent to  ns_free(ptr).
              Unless  ptr  is NULL, it must have been returned by an earlier call to ns_malloc(),
              ns_calloc() or ns_realloc().

SEE ALSO

       Tcl_Alloc(3), Tcl_Free(3)

KEYWORDS

       memory, allocation