From 37ca9288d2631b48a8eb50c01d6c0cc462d8ee31 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Thu, 4 Mar 2010 15:34:22 +0100 Subject: [PATCH] s3-net: fix net after spoolss_SetPrinterData{Ex} IDL change. Guenther --- source3/utils/net_rpc_printer.c | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c index d1d38e8e00f..20770835f78 100644 --- a/source3/utils/net_rpc_printer.c +++ b/source3/utils/net_rpc_printer.c @@ -832,7 +832,8 @@ static bool net_spoolss_setprinterdata(struct rpc_pipe_client *pipe_hnd, struct policy_handle *hnd, const char *value_name, enum winreg_Type type, - union spoolss_PrinterData data) + uint8_t *data, + uint32_t offered) { WERROR result; NTSTATUS status; @@ -843,7 +844,7 @@ static bool net_spoolss_setprinterdata(struct rpc_pipe_client *pipe_hnd, value_name, type, data, - 0, /* autocalculated */ + offered, &result); if (!W_ERROR_IS_OK(result)) { @@ -910,15 +911,6 @@ static bool net_spoolss_setprinterdataex(struct rpc_pipe_client *pipe_hnd, { WERROR result; NTSTATUS status; - union spoolss_PrinterData data; - DATA_BLOB blob; - - blob = data_blob_const(value->data_p, value->size); - - result = pull_spoolss_PrinterData(mem_ctx, &blob, &data, value->type); - if (!W_ERROR_IS_OK(result)) { - return false; - } /* setprinterdataex call */ status = rpccli_spoolss_SetPrinterDataEx(pipe_hnd, mem_ctx, @@ -926,8 +918,8 @@ static bool net_spoolss_setprinterdataex(struct rpc_pipe_client *pipe_hnd, keyname, value->valuename, value->type, - data, - 0, + value->data_p, + value->size, &result); if (!W_ERROR_IS_OK(result)) { @@ -2359,8 +2351,6 @@ NTSTATUS rpc_printer_migrate_settings_internals(struct net_context *c, if (NT_STATUS_IS_OK(nt_status) && W_ERROR_IS_OK(result)) { struct regval_blob v; - DATA_BLOB blob; - union spoolss_PrinterData printer_data; /* display_value */ if (c->opt_verbose) { @@ -2371,18 +2361,10 @@ NTSTATUS rpc_printer_migrate_settings_internals(struct net_context *c, display_reg_value(SPOOL_PRINTERDATA_KEY, v); } - result = pull_spoolss_PrinterData(mem_ctx, - &blob, - &printer_data, - type); - if (!W_ERROR_IS_OK(result)) { - goto done; - } - /* set_value */ if (!net_spoolss_setprinterdata(pipe_hnd_dst, mem_ctx, &hnd_dst, value_name, - type, printer_data)) + type, buffer, data_offered)) goto done; DEBUGADD(1,("\tSetPrinterData of [%s] succeeded\n", -- 2.11.4.GIT