.Dd\r
.Dt strdup 3\r
.Os\r
-\r
+.\"\r
.Sh NAME\r
.Nm strdup\r
.Nd string duplication\r
-\r
+.\"\r
.Sh SYNOPSIS\r
.Sy #define _XOPEN_SOURCE || _POSIX_C_SOURCE >= 200809L\r
.In string.h\r
.Sy #define _POSIX_C_SOURCE >= 200809L\r
.In string.h\r
.Fn "char *strndup" "const char *str" "size_t len"\r
-\r
+.\"\r
.Sh DESCRIPTION\r
.Fn strdup\r
allocates a new buffer of sufficient size as to be able to hold the entirety of\r
including the terminating character, and copies the contents of\r
.Va str\r
into it.\r
-\r
+.\"\r
.Pp\r
.Fn strndup\r
allocates a buffer large enough to contain\r
characters of \r
.Va str\r
are then copied into it, and a null character appended.\r
-\r
+.\"\r
.Pp\r
The buffers returned by these functions must be released by a call to\r
.Fn free .\r
-\r
+.\"\r
.Sh SEE ALSO\r
.Xr free 3\r
.Xr malloc 3\r
.Xr strcpy 3\r
.Xr strncpy 3\r
-\r
+.\"\r
.Sh STANDARDS\r
.Fn strdup\r
first specified in \r