summaryrefslogtreecommitdiff
path: root/librpc/rpc/binding.c
diff options
context:
space:
mode:
Diffstat (limited to 'librpc/rpc/binding.c')
-rw-r--r--librpc/rpc/binding.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/librpc/rpc/binding.c b/librpc/rpc/binding.c
index 2866dda5664..e81cd4d2b14 100644
--- a/librpc/rpc/binding.c
+++ b/librpc/rpc/binding.c
@@ -457,6 +457,27 @@ _PUBLIC_ const char *dcerpc_binding_get_string_option(const struct dcerpc_bindin
return NULL;
}
+_PUBLIC_ char *dcerpc_binding_copy_string_option(TALLOC_CTX *mem_ctx,
+ const struct dcerpc_binding *b,
+ const char *name)
+{
+ const char *c = dcerpc_binding_get_string_option(b, name);
+ char *v;
+
+ if (c == NULL) {
+ errno = ENOENT;
+ return NULL;
+ }
+
+ v = talloc_strdup(mem_ctx, c);
+ if (v == NULL) {
+ errno = ENOMEM;
+ return NULL;
+ }
+
+ return v;
+}
+
_PUBLIC_ NTSTATUS dcerpc_binding_set_string_option(struct dcerpc_binding *b,
const char *name,
const char *value)