diff options
author | Günther Deschner <gd@samba.org> | 2010-03-04 15:46:28 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2010-05-06 14:08:32 +0200 |
commit | e6a23fb6536e6fe1cdc49929c1d524a26f84bd50 (patch) | |
tree | 0df3a69e5f114bfc005efb6965962c168f1c0c43 /source3/rpc_client | |
parent | 2fe7fe26208e95efd40f9b2e8c2068f19bebce88 (diff) | |
download | samba-e6a23fb6536e6fe1cdc49929c1d524a26f84bd50.tar.gz |
s3-rpcclient: fix rpcclient after spoolss_GetPrinterData{Ex} IDL change.
Guenther
(cherry picked from commit 345eba78f7fc72f067cd3d95a7698081e09be85f)
Diffstat (limited to 'source3/rpc_client')
-rw-r--r-- | source3/rpc_client/cli_spoolss.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/source3/rpc_client/cli_spoolss.c b/source3/rpc_client/cli_spoolss.c index bc4a4e78ed5..1919da9af3f 100644 --- a/source3/rpc_client/cli_spoolss.c +++ b/source3/rpc_client/cli_spoolss.c @@ -715,34 +715,44 @@ WERROR rpccli_spoolss_getprinterdata(struct rpc_pipe_client *cli, const char *value_name, uint32_t offered, enum winreg_Type *type, - union spoolss_PrinterData *data) + uint32_t *needed_p, + uint8_t **data_p) { NTSTATUS status; WERROR werror; uint32_t needed; + uint8_t *data; + + data = talloc_zero_array(mem_ctx, uint8_t, offered); + W_ERROR_HAVE_NO_MEMORY(data); status = rpccli_spoolss_GetPrinterData(cli, mem_ctx, handle, value_name, - offered, type, data, + offered, &needed, &werror); if (W_ERROR_EQUAL(werror, WERR_MORE_DATA)) { offered = needed; + data = talloc_zero_array(mem_ctx, uint8_t, offered); + W_ERROR_HAVE_NO_MEMORY(data); status = rpccli_spoolss_GetPrinterData(cli, mem_ctx, handle, value_name, - offered, type, data, + offered, &needed, &werror); } + *data_p = data; + *needed_p = needed; + return werror; } |