Function rcutils_strndup

Function Documentation

char *rcutils_strndup(const char *str, size_t max_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 max_length given does not include the null terminating character. Therefore a max_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:
  • str[in] null terminated c string to be duplicated

  • max_length[in] maximum length of the string to duplicate

  • allocator[in] the allocator to use for allocation

Returns:

duplicated string, or

Returns:

NULL if there is an error.