rcutils
master
C API providing common utilities and data structures.
|
#include <string.h>
#include "rcutils/allocator.h"
#include "rcutils/macros.h"
#include "rcutils/visibility_control.h"
Go to the source code of this file.
Functions | |
char * | rcutils_strdup (const char *str, rcutils_allocator_t allocator) |
Return a duplicated string with an allocator, or null if an error occurs. More... | |
char * | rcutils_strndup (const char *str, size_t string_length, rcutils_allocator_t allocator) |
Return a duplicated string with an allocator, or null if an error occurs. More... | |
char* rcutils_strdup | ( | const char * | str, |
rcutils_allocator_t | allocator | ||
) |
Return a duplicated string with an allocator, or null if an error occurs.
This function is identical to rcutils_strndup() except the length of the c string does not have to be given and therefore the c string must be null terminated.
[in] | str | null terminated c string to be duplicated |
[in] | allocator | the allocator to use for allocation |
char* rcutils_strndup | ( | const char * | str, |
size_t | string_length, | ||
rcutils_allocator_t | allocator | ||
) |
Return a duplicated string with an allocator, or null if an error occurs.
This function can fail and return null if memory cannot be allocated or if the input c string pointer is null. In both cases no error message is set. The returned string should be deallocated using the given allocator when it is no longer needed.
The string_length given does not include the null terminating character. Therefore a string_length of 0 will still result in a duplicated string, but the string will be an empty string of strlen 0, but it still must be deallocated. All returned strings are null terminated.
[in] | str | null terminated c string to be duplicated |
[in] | string_length | length of the string to duplicate |
[in] | allocator | the allocator to use for allocation |