rcutils  master
C API providing common utilities and data structures.
Functions
strdup.h File Reference
#include <string.h>
#include "rcutils/allocator.h"
#include "rcutils/macros.h"
#include "rcutils/visibility_control.h"
Include dependency graph for strdup.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...
 

Function Documentation

◆ rcutils_strdup()

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.

See also
rcutils_strndup()
Parameters
[in]strnull terminated c string to be duplicated
[in]allocatorthe allocator to use for allocation
Returns
duplicated string or null if there is an error

◆ rcutils_strndup()

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.

Parameters
[in]strnull terminated c string to be duplicated
[in]string_lengthlength of the string to duplicate
[in]allocatorthe allocator to use for allocation
Returns
duplicated string or null if there is an error