1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

s3-spoolss: let _spoolss_DeletePrinterData call into _spoolss_DeletePrinterDataEx.

Guenther
This commit is contained in:
Günther Deschner 2009-12-07 11:28:56 +01:00
parent 167dca0cbf
commit ef9d6580ef

View File

@ -7910,46 +7910,13 @@ WERROR _spoolss_ResetPrinter(pipes_struct *p,
WERROR _spoolss_DeletePrinterData(pipes_struct *p,
struct spoolss_DeletePrinterData *r)
{
NT_PRINTER_INFO_LEVEL *printer = NULL;
int snum=0;
WERROR status = WERR_OK;
Printer_entry *Printer = find_printer_index_by_hnd(p, r->in.handle);
struct spoolss_DeletePrinterDataEx r2;
DEBUG(5,("_spoolss_DeletePrinterData\n"));
r2.in.handle = r->in.handle;
r2.in.key_name = "PrinterDriverData";
r2.in.value_name = r->in.value_name;
if (!Printer) {
DEBUG(2,("_spoolss_DeletePrinterData: Invalid handle (%s:%u:%u).\n",
OUR_HANDLE(r->in.handle)));
return WERR_BADFID;
}
if (!get_printer_snum(p, r->in.handle, &snum, NULL))
return WERR_BADFID;
if (Printer->access_granted != PRINTER_ACCESS_ADMINISTER) {
DEBUG(3, ("_spoolss_DeletePrinterData: "
"printer properties change denied by handle\n"));
return WERR_ACCESS_DENIED;
}
status = get_a_printer(Printer, &printer, 2, lp_const_servicename(snum));
if (!W_ERROR_IS_OK(status))
return status;
if (!r->in.value_name) {
free_a_printer(&printer, 2);
return WERR_NOMEM;
}
status = delete_printer_dataex( printer, SPOOL_PRINTERDATA_KEY,
r->in.value_name );
if ( W_ERROR_IS_OK(status) )
mod_a_printer( printer, 2 );
free_a_printer(&printer, 2);
return status;
return _spoolss_DeletePrinterDataEx(p, &r2);
}
/****************************************************************