Provided by: trafficserver-dev_7.1.2+ds-3_amd64 bug

NAME

       TSmalloc - traffic Server memory allocation API

SYNOPSIS

       #include <ts/ts.h>

       void * TSmalloc(size_t size, const char * path)

       void * TSrealloc(void * ptr, size_t size, const char * path)

       char * TSstrdup(const char * str)

       char * TSstrndup(const char * str, size_t size)

       size_t TSstrlcpy(char * dst, const char * src, size_t size)

       size_t TSstrlcat(char * dst, const char * src, size_t size)

       void TSfree(void * ptr)

DESCRIPTION

       Traffic  Server  provides  a  number  of routines for allocating and freeing memory. These
       routines correspond to similar routines  in  the  C  library.   For  example,  TSrealloc()
       behaves  like  the  C  library routine realloc.  There are two reasons to use the routines
       provided by Traffic Server. The first is portability.  The  Traffic  Server  API  routines
       behave  the  same on all of Traffic Servers supported platforms. For example, realloc does
       not accept an argument of NULL on some platforms. The second reason is  that  the  Traffic
       Server  routines  actually  track  the  memory  allocations  by file and line number. This
       tracking is very efficient, is always turned on, and is useful for  tracking  down  memory
       leaks.

       TSmalloc()  returns  a  pointer  to  size bytes of memory allocated from the heap. Traffic
       Server uses TSmalloc() internally for memory allocations.  Always use TSfree() to  release
       memory allocated by TSmalloc(); do not use free.

       TSstrdup()  returns a pointer to a new string that is a duplicate of the string pointed to
       by str. The memory for the new string is allocated using TSmalloc() and should be freed by
       a  call to TSfree().  TSstrndup() returns a pointer to a new string that is a duplicate of
       the string pointed to by str and size bytes long. The new string will  be  NUL-terminated.
       This API is very useful for transforming non NUL-terminated string values returned by APIs
       such as TSMimeHdrFieldValueStringGet() into NUL-terminated string values. The  memory  for
       the new string is allocated using TSmalloc() and should be freed by a call to TSfree().

       TSstrlcpy()  copies  up  to size - 1 characters from the NUL-terminated string src to dst,
       NUL-terminating the result.

       TSstrlcat() appends the NUL-terminated string src to the end of dst.  It  will  append  at
       most size - strlen(dst) - 1 bytes, NUL-terminating the result.

       TSfree()  releases  the  memory  allocated  by  TSmalloc() or TSrealloc(). If ptr is NULL,
       TSfree() does no operation.

SEE ALSO

       TSAPI(3ts)

COPYRIGHT

       2018, dev@trafficserver.apache.org