strdupa(3) Library Functions Manual 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 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). allbox; lbx lb lb l l l. Interface Attribute Value T{ strdupa(), strndupa() T} Thread safety MT-Safe STANDARDS GNU. HISTORY GNU. SEE ALSO alloca(3), strdup(3), strndup(3) Linux man-pages 6.18 2026-02-25 strdupa(3)