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