From 62e11c4f1748d98f479110c8c0e656a8f65dca4d Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 16 Jan 2007 15:42:03 +0000 Subject: r20832: Remove extra pointers previously added to unique [out] pointers. Instead, add [ref] pointers where necessary (top-level [ref] pointers, by spec, don't appear on the wire). This brings us closer to the DCE/RPC standard again. (This used to be commit 580f2a7197b1bc9db14a643fdd112b40ef37aaef) --- source3/librpc/gen_ndr/cli_dfs.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'source3/librpc/gen_ndr/cli_dfs.c') diff --git a/source3/librpc/gen_ndr/cli_dfs.c b/source3/librpc/gen_ndr/cli_dfs.c index fd722e1cce..a5f4e681e0 100644 --- a/source3/librpc/gen_ndr/cli_dfs.c +++ b/source3/librpc/gen_ndr/cli_dfs.c @@ -165,7 +165,7 @@ NTSTATUS rpccli_dfs_GetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, co return werror_to_ntstatus(r.out.result); } -NTSTATUS rpccli_dfs_Enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, uint32_t level, uint32_t bufsize, struct dfs_EnumStruct **info, uint32_t *unknown, uint32_t **total) +NTSTATUS rpccli_dfs_Enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, uint32_t level, uint32_t bufsize, struct dfs_EnumStruct *info, uint32_t *unknown, uint32_t *total) { struct dfs_Enum r; NTSTATUS status; @@ -173,9 +173,9 @@ NTSTATUS rpccli_dfs_Enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, uint3 /* In parameters */ r.in.level = level; r.in.bufsize = bufsize; - r.in.info = *info; + r.in.info = info; r.in.unknown = unknown; - r.in.total = *total; + r.in.total = total; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(dfs_Enum, &r); @@ -194,8 +194,12 @@ NTSTATUS rpccli_dfs_Enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, uint3 } /* Return variables */ - *info = r.out.info; - *total = r.out.total; + if ( info ) { + *info = *r.out.info; + } + if ( total ) { + *total = *r.out.total; + } /* Return result */ return werror_to_ntstatus(r.out.result); @@ -636,7 +640,7 @@ NTSTATUS rpccli_dfs_Remove2(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) return werror_to_ntstatus(r.out.result); } -NTSTATUS rpccli_dfs_EnumEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *name, uint32_t level, uint32_t bufsize, struct dfs_EnumStruct **info, uint32_t **total) +NTSTATUS rpccli_dfs_EnumEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *name, uint32_t level, uint32_t bufsize, struct dfs_EnumStruct *info, uint32_t *total) { struct dfs_EnumEx r; NTSTATUS status; @@ -645,8 +649,8 @@ NTSTATUS rpccli_dfs_EnumEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, con r.in.name = name; r.in.level = level; r.in.bufsize = bufsize; - r.in.info = *info; - r.in.total = *total; + r.in.info = info; + r.in.total = total; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(dfs_EnumEx, &r); @@ -665,8 +669,12 @@ NTSTATUS rpccli_dfs_EnumEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, con } /* Return variables */ - *info = r.out.info; - *total = r.out.total; + if ( info ) { + *info = *r.out.info; + } + if ( total ) { + *total = *r.out.total; + } /* Return result */ return werror_to_ntstatus(r.out.result); -- cgit