strdupa(3)

NAME
strdupa, strndupa - string duplicate using alloca

LIBRARY
Standard C library (libc, -lc)

SYNOPSIS
#define _GNU_SOURCE  /* See feature_test_macros(7) */
#include <string.h>

char *strdupa(const char *s);
char *strndupa(size_t n;
              const char s[n], size_t n);

DESCRIPTION

strdupa()
    strdupa() is similar to strdup(3), but uses alloca(3) to allocate the buffer.

    It is equivalent to

        strcpy(alloca(strlen(s) + 1), s)

strndupa()
    strndupa() is similar to strndupa(3), but uses alloca(3) to allocate the buffer.

    It is equivalent to

        strncat(strcpy(alloca(n + 1), ""), s, n)

RETURN VALUE
On success, these macros return a pointer to the duplicated string.

ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
Interface | Attribute | Value
 | Thread safety | MT-Safe

STANDARDS
GNU.

HISTORY
GNU.

SEE ALSO
alloca(3), strdup(3), strndup(3)