From 48fca54a29375dfad84a9863c70fed8b88d70221 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Fri, 1 Oct 2010 06:05:38 +0200 Subject: [PATCH] s3-spoolss: dont overwrite location change notify. Guenther --- source3/include/proto.h | 3 +++ source3/printing/notify.c | 13 +++++++++++++ source3/rpc_server/srv_spoolss_nt.c | 6 +++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/source3/include/proto.h b/source3/include/proto.h index 5cdb956974c..866836f99fd 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -4044,6 +4044,9 @@ void notify_printer_byname(struct tevent_context *ev, struct messaging_context *msg_ctx, const char *printername, uint32 change, const char *value); +void notify_printer_sepfile(struct tevent_context *ev, + struct messaging_context *msg_ctx, + int snum, const char *sepfile); /* The following definitions come from printing/pcap.c */ diff --git a/source3/printing/notify.c b/source3/printing/notify.c index 9f07f6cba6d..84a979e1b27 100644 --- a/source3/printing/notify.c +++ b/source3/printing/notify.c @@ -577,6 +577,19 @@ void notify_printer_location(struct tevent_context *ev, snum, strlen(location) + 1, location); } +void notify_printer_sepfile(struct tevent_context *ev, + struct messaging_context *msg_ctx, + int snum, const char *sepfile) +{ + const char *sharename = lp_servicename(snum); + + send_notify_field_buffer( + ev, msg_ctx, + sharename, PRINTER_NOTIFY_TYPE, PRINTER_NOTIFY_FIELD_SEPFILE, + snum, strlen(sepfile) + 1, sepfile); +} + + void notify_printer_byname(struct tevent_context *ev, struct messaging_context *msg_ctx, const char *printername, uint32 change, diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 889c370c390..5f803b63044 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -6245,9 +6245,9 @@ static WERROR update_dsspooler(TALLOC_CTX *mem_ctx, buffer.length); if (!force_update) { - notify_printer_location(server_event_context(), - msg_ctx, snum, - printer->location); + notify_printer_sepfile(server_event_context(), + msg_ctx, snum, + printer->sepfile); } } -- 2.34.1