errno_t strcat_s(char *restrict s1, size_t s1max, const char *restrict s2);
strcat_s appends a copy of the string pointed to by s2 (including the terminating null character) to the end of the string pointed to by s1 whose size is supplied in s1max. The initial character of s2 overwrites the null character at the end of s1. The parameters are checked for null pointer and overlapping cases. On error strcat_s stores null in the first element of s1 and the current constraint_handler is called.
strcat_s returns 0 on success and non-zero on failure.