diff options
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rw-r--r-- | source3/printing/notify.c | 13 | ||||
-rw-r--r-- | 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 5cdb956974..866836f99f 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 9f07f6cba6..84a979e1b2 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 889c370c39..5f803b6304 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); } } |