summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index c7f66bc279..a756eb64cc 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -7837,7 +7837,7 @@ WERROR _spoolss_SetPrinterData(pipes_struct *p,
r2.in.value_name = r->in.value_name;
r2.in.type = r->in.type;
r2.in.data = r->in.data;
- r2.in._offered = r->in._offered;
+ r2.in.offered = r->in.offered;
return _spoolss_SetPrinterDataEx(p, &r2);
}
@@ -8770,7 +8770,6 @@ WERROR _spoolss_SetPrinterDataEx(pipes_struct *p,
WERROR result = WERR_OK;
Printer_entry *Printer = find_printer_index_by_hnd(p, r->in.handle);
char *oid_string;
- DATA_BLOB blob;
DEBUG(4,("_spoolss_SetPrinterDataEx\n"));
@@ -8820,12 +8819,6 @@ WERROR _spoolss_SetPrinterDataEx(pipes_struct *p,
oid_string++;
}
- result = push_spoolss_PrinterData(p->mem_ctx, &blob,
- r->in.type, &r->in.data);
- if (!W_ERROR_IS_OK(result)) {
- goto done;
- }
-
/*
* When client side code sets a magic printer data key, detect it and save
* the current printer data and the magic key's data (its the DEVMODE) for
@@ -8833,7 +8826,7 @@ WERROR _spoolss_SetPrinterDataEx(pipes_struct *p,
*/
if ((r->in.type == REG_BINARY) && strequal(r->in.value_name, PHANTOM_DEVMODE_KEY)) {
/* Set devmode and printer initialization info */
- result = save_driver_init(printer, 2, blob.data, blob.length);
+ result = save_driver_init(printer, 2, r->in.data, r->in.offered);
srv_spoolss_reset_printerdata(printer->info_2->drivername);
@@ -8843,7 +8836,7 @@ WERROR _spoolss_SetPrinterDataEx(pipes_struct *p,
/* save the registry data */
result = set_printer_dataex(printer, r->in.key_name, r->in.value_name,
- r->in.type, blob.data, blob.length);
+ r->in.type, r->in.data, r->in.offered);
if (W_ERROR_IS_OK(result)) {
/* save the OID if one was specified */