Provided by: libpcp4-dev_7.0.2-1_amd64 

NAME
pmstrncat - safe string concatenation
C SYNOPSIS
#include <pcp/pmapi.h>
int pmstrncat(char *dest, size_t destlen, char *src);
cc ... -lpcp
DESCRIPTION
pmstrncat is safe string concatenation routine with semantics similar to strncat(3).
The main differences between pmstrncat and strncat(3) are:
• src must be null-byte terminated for pmstrncat
• destlen is the length of the destination buffer (dest) for pmstrncat, not the maximum number of non-
null bytes to copy from src as it is for strncat
• the length argument has the same semantics for pmstrncat and pmstrncpy(3), unlike strncat(3) and
strncpy(3).
• the return value from pmstrncat is useful
• the order of the arguments for pmstrncat has been deliberately changed from the order of the arguments
for strncat(3) to avoid accidental misuse that a compiler can easily detect
On success, pmstrncat returns 0, else -1 indicates that src is too big and the result been truncated to
ensure dest has not been overrun.
HISTORY
strncat(3) first appeared in Edition 7 AT&T Unix around 1979. It was specifically crafted to construct
file pathnames (which needed to be null-byte terminated) from component names from on-disk directory en‐
tries that were of a fixed maximum size and may have zero, one or more trailing null-bytes
The subsequent attempts to use strncat(3) for more generally string concatenation operations has been
fraught with abuse and security issues; pmstrncat is an attempt to address these problems.
SEE ALSO
PMAPI(3), pmstrncpy(3), strncat(3) and strncpy(3).
Performance Co-Pilot PCP PMSTRNCAT(3)