talloc_string man page

talloc_string

Synopsis

Modules

The talloc debugging support functions

Functions

char * talloc_strdup (const void *t, const char *p)
Duplicate a string into a talloc chunk.
char * talloc_strdup_append (char *s, const char *a)
Append a string to given string.
char * talloc_strdup_append_buffer (char *s, const char *a)
Append a string to a given buffer.
char * talloc_strndup (const void *t, const char *p, size_t n)
Duplicate a length-limited string into a talloc chunk.
char * talloc_strndup_append (char *s, const char *a, size_t n)
Append at most n characters of a string to given string.
char * talloc_strndup_append_buffer (char *s, const char *a, size_t n)
Append at most n characters of a string to given buffer.
char * talloc_vasprintf (const void *t, const char *fmt, va_list ap) PRINTF_ATTRIBUTE(2
Format a string given a va_list.
char char * talloc_vasprintf_append (char *s, const char *fmt, va_list ap) PRINTF_ATTRIBUTE(2
Format a string given a va_list and append it to the given destination string.
char char char * talloc_vasprintf_append_buffer (char *s, const char *fmt, va_list ap) PRINTF_ATTRIBUTE(2
Format a string given a va_list and append it to the given destination buffer.
char char char char * talloc_asprintf (const void *t, const char *fmt,...) PRINTF_ATTRIBUTE(2
Format a string.
char char char char char * talloc_asprintf_append (char *s, const char *fmt,...) PRINTF_ATTRIBUTE(2
Append a formatted string to another string.
char char char char char char * talloc_asprintf_append_buffer (char *s, const char *fmt,...) PRINTF_ATTRIBUTE(2
Append a formatted string to another string.

Detailed Description

talloc string allocation and manipulation functions.

Function Documentation

char char char char* talloc_asprintf (const void * t, const char * fmt,  ...)

Format a string. This function is the talloc equivalent of the C library function asprintf(3).

This functions sets the name of the new pointer to the new string. This is equivalent to:

talloc_set_name_const(ptr, ptr)
Parameters

t The talloc context to hang the result off.
fmt The format string.
... The parameters used to fill fmt.

Returns

The formatted string, NULL on error.

char char char char char* talloc_asprintf_append (char * s, const char * fmt,  ...)

Append a formatted string to another string. This function appends the given formatted string to the given string. Use this variant when the string in the current talloc buffer may have been truncated in length.

This functions sets the name of the new pointer to the new string. This is equivalent to:

talloc_set_name_const(ptr, ptr)

If s == NULL then new context is created.

Parameters

s The string to append to.
fmt The format string.
... The parameters used to fill fmt.

Returns

The formatted string, NULL on error.

char char char char char char* talloc_asprintf_append_buffer (char * s, const char * fmt,  ...)

Append a formatted string to another string. This is a more efficient version of talloc_asprintf_append(). It determines the length of the destination string by the size of the talloc context.

Use this very carefully as it produces a different result than talloc_asprintf_append() when a zero character is in the middle of the destination string.

char *str_a = talloc_strdup(NULL, "hello world");
char *str_b = talloc_strdup(NULL, "hello world");
str_a[5] = str_b[5] = ' '

char *app = talloc_asprintf_append(str_a, "%s", ", hello");
char *buf = talloc_strdup_append_buffer(str_b, "%s", ", hello");

printf("%s0, app); // hello, hello (app = "hello, hello")
printf("%s0, buf); // hello (buf = "hello world, hello")

If s == NULL then new context is created.

Parameters

s The string to append to
fmt The format string.
... The parameters used to fill fmt.

Returns

The formatted string, NULL on error.

See also

talloc_asprintf()

talloc_asprintf_append()

char* talloc_strdup (const void * t, const char * p)

Duplicate a string into a talloc chunk. This function is equivalent to:

ptr = talloc_size(ctx, strlen(p)+1);
if (ptr) memcpy(ptr, p, strlen(p)+1);

This functions sets the name of the new pointer to the passed string. This is equivalent to:

talloc_set_name_const(ptr, ptr)
Parameters

t The talloc context to hang the result off.
p The string you want to duplicate.

Returns

The duplicated string, NULL on error.

char* talloc_strdup_append (char * s, const char * a)

Append a string to given string. The destination string is reallocated to take strlen(s) + strlen(a) + 1 characters.

This functions sets the name of the new pointer to the new string. This is equivalent to:

talloc_set_name_const(ptr, ptr)

If s == NULL then new context is created.

Parameters

s The destination to append to.
a The string you want to append.

Returns

The concatenated strings, NULL on error.

See also

talloc_strdup()

talloc_strdup_append_buffer()

char* talloc_strdup_append_buffer (char * s, const char * a)

Append a string to a given buffer. This is a more efficient version of talloc_strdup_append(). It determines the length of the destination string by the size of the talloc context.

Use this very carefully as it produces a different result than talloc_strdup_append() when a zero character is in the middle of the destination string.

char *str_a = talloc_strdup(NULL, "hello world");
char *str_b = talloc_strdup(NULL, "hello world");
str_a[5] = str_b[5] = ' '

char *app = talloc_strdup_append(str_a, ", hello");
char *buf = talloc_strdup_append_buffer(str_b, ", hello");

printf("%s0, app); // hello, hello (app = "hello, hello")
printf("%s0, buf); // hello (buf = "hello world, hello")

If s == NULL then new context is created.

Parameters

s The destination buffer to append to.
a The string you want to append.

Returns

The concatenated strings, NULL on error.

See also

talloc_strdup()

talloc_strdup_append()

talloc_array_length()

char* talloc_strndup (const void * t, const char * p, size_t n)

Duplicate a length-limited string into a talloc chunk. This function is the talloc equivalent of the C library function strndup(3).

This functions sets the name of the new pointer to the passed string. This is equivalent to:

talloc_set_name_const(ptr, ptr)
Parameters

t The talloc context to hang the result off.
p The string you want to duplicate.
n The maximum string length to duplicate.

Returns

The duplicated string, NULL on error.

char* talloc_strndup_append (char * s, const char * a, size_t n)

Append at most n characters of a string to given string. The destination string is reallocated to take strlen(s) + strnlen(a, n) + 1 characters.

This functions sets the name of the new pointer to the new string. This is equivalent to:

talloc_set_name_const(ptr, ptr)

If s == NULL then new context is created.

Parameters

s The destination string to append to.
a The source string you want to append.
n The number of characters you want to append from the string.

Returns

The concatenated strings, NULL on error.

See also

talloc_strndup()

talloc_strndup_append_buffer()

char* talloc_strndup_append_buffer (char * s, const char * a, size_t n)

Append at most n characters of a string to given buffer. This is a more efficient version of talloc_strndup_append(). It determines the length of the destination string by the size of the talloc context.

Use this very carefully as it produces a different result than talloc_strndup_append() when a zero character is in the middle of the destination string.

char *str_a = talloc_strdup(NULL, "hello world");
char *str_b = talloc_strdup(NULL, "hello world");
str_a[5] = str_b[5] = ' '

char *app = talloc_strndup_append(str_a, ", hello", 7);
char *buf = talloc_strndup_append_buffer(str_b, ", hello", 7);

printf("%s0, app); // hello, hello (app = "hello, hello")
printf("%s0, buf); // hello (buf = "hello world, hello")

If s == NULL then new context is created.

Parameters

s The destination buffer to append to.
a The source string you want to append.
n The number of characters you want to append from the string.

Returns

The concatenated strings, NULL on error.

See also

talloc_strndup()

talloc_strndup_append()

talloc_array_length()

char* talloc_vasprintf (const void * t, const char * fmt, va_list ap)

Format a string given a va_list. This function is the talloc equivalent of the C library function vasprintf(3).

This functions sets the name of the new pointer to the new string. This is equivalent to:

talloc_set_name_const(ptr, ptr)
Parameters

t The talloc context to hang the result off.
fmt The format string.
ap The parameters used to fill fmt.

Returns

The formatted string, NULL on error.

char char* talloc_vasprintf_append (char * s, const char * fmt, va_list ap)

Format a string given a va_list and append it to the given destination string.

Parameters

s The destination string to append to.
fmt The format string.
ap The parameters used to fill fmt.

Returns

The formatted string, NULL on error.

See also

talloc_vasprintf()

char char char* talloc_vasprintf_append_buffer (char * s, const char * fmt, va_list ap)

Format a string given a va_list and append it to the given destination buffer.

Parameters

s The destination buffer to append to.
fmt The format string.
ap The parameters used to fill fmt.

Returns

The formatted string, NULL on error.

See also

talloc_vasprintf()

Author

Generated automatically by Doxygen for talloc from the source code.

Info

Wed Sep 11 2019 Version 2.0 talloc