summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2010-03-04 17:00:34 +0100
committerGünther Deschner <gd@samba.org>2010-03-05 15:17:59 +0100
commit9a934832797c3e72859770719e05d19a5eefa14d (patch)
tree7843e0fc5190523d2ad42db3d6875a8f8161273a
parent3b01ab82482c249e7f7420a9769432ace79183d3 (diff)
downloadsamba-9a934832797c3e72859770719e05d19a5eefa14d.tar.gz
samba-9a934832797c3e72859770719e05d19a5eefa14d.tar.bz2
samba-9a934832797c3e72859770719e05d19a5eefa14d.zip
s3-spoolss: fix _spoolss_SetPrinterData{Ex} after IDL change.
Guenther
-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 */