aboutsummaryrefslogtreecommitdiff
path: root/docs/man/nng_strdup.3.adoc
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-03-20 18:38:54 -0700
committerGarrett D'Amore <garrett@damore.org>2018-03-20 18:42:23 -0700
commit6df40cb6eea9a4220d61c4c927ce5a857a12a338 (patch)
treeac4b7ecbcb41a456eb4d0429fc180047656371ba /docs/man/nng_strdup.3.adoc
parent9ca901c1b70b17d851426483d9f54611cfa8e395 (diff)
downloadnng-6df40cb6eea9a4220d61c4c927ce5a857a12a338.tar.gz
nng-6df40cb6eea9a4220d61c4c927ce5a857a12a338.tar.bz2
nng-6df40cb6eea9a4220d61c4c927ce5a857a12a338.zip
fixes #301 String option handling for getopt
Diffstat (limited to 'docs/man/nng_strdup.3.adoc')
-rw-r--r--docs/man/nng_strdup.3.adoc55
1 files changed, 55 insertions, 0 deletions
diff --git a/docs/man/nng_strdup.3.adoc b/docs/man/nng_strdup.3.adoc
new file mode 100644
index 00000000..23e23a43
--- /dev/null
+++ b/docs/man/nng_strdup.3.adoc
@@ -0,0 +1,55 @@
+= nng_strdup(3)
+//
+// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2018 Capitar IT Group BV <info@capitar.com>
+//
+// This document is supplied under the terms of the MIT License, a
+// copy of which should be located in the distribution where this
+// file was obtained (LICENSE.txt). A copy of the license may also be
+// found online at https://opensource.org/licenses/MIT.
+//
+
+== NAME
+
+nng_strdup - duplicate string
+
+== SYNOPSIS
+
+[source, c]
+----
+#include <nng/nng.h>
+
+char *nng_strdup(const char *src);
+----
+
+== DESCRIPTION
+
+The `nng_strdup()` duplicates the string _src_ and returns it.
+
+This is logically equiavlent to using <<nng_alloc.3#,`nng_alloc()`>>
+to allocate a region of memory of `strlen(s) + 1` bytes, and then
+using `strcpy()` to copy the string into the destination before
+returning it.
+
+The returned string should be deallocated with
+<<nng_strfree.3#,`nng_strfree()`>>, or may be deallocated using the
+<<nng_free.3#,`nng_free()`>> using the length of the returned string plus
+one (for the `NUL` terminating byte).
+
+IMPORTANT: Do not use the system `free()` or similar functions to deallocate
+the string, since those may use a different memory arena!
+
+== RETURN VALUES
+
+This function returns the new string on success, and `NULL` on failure.
+
+== ERRORS
+
+No errors are returned, but a `NULL` return value should be
+treated the same as `NNG_ENOMEM`.
+
+== SEE ALSO
+
+<<nng_alloc.3#,nng_alloc(3)>>,
+<<nng_free.3#,nng_free(3)>>,
+<<nng.7#,nng(7)>>