straddstr()
Concatenate one string on to the end of another
Synopsis:
#include <string.h> int straddstr( const char * str, int len, char ** pbuf, size_t * pmaxbuf );
Arguments:
- str
- The string that you want to add to the end of another.
- len
- The number of characters from str that you want to add. If zero, the function adds all of str.
- pbuf
- The address of a pointer to the destination buffer.
- pmaxbuf
- A pointer to the size of the destination buffer.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The straddstr() function adds str to the buffer pointed to by pbuf, respecting the maximum length indicated by pmaxbuf, and updates the values of pbuf and pmaxbuf:
- If len is zero, straddstr() calls strlen() to determine the length of str. In this case, str must be null-terminated.
- The straddstr() function null-terminates pbuf whenever pmaxbuf is nonzero, even if the source string isn't null-terminated (but len must be nonzero in this case).
- If len is non-zero, null bytes in the input have no special meaning (i.e., straddstr() doesn't stop copying when it reads a null byte, but it still null-terminates pbuf).
- If the full string can't be copied, it's truncated, but pbuf is still null-terminated.
Returns:
The value of len if it's nonzero; otherwise, the length of str (i.e. strlen( str )).
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |