diff options
-rw-r--r-- | source3/smbd/notify.c | 17 | ||||
-rw-r--r-- | source3/smbd/proto.h | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/source3/smbd/notify.c b/source3/smbd/notify.c index 0401b65a6a..a55be9b938 100644 --- a/source3/smbd/notify.c +++ b/source3/smbd/notify.c @@ -39,6 +39,23 @@ struct notify_change_request { static void notify_fsp(files_struct *fsp, uint32 action, const char *name); +bool change_notify_fsp_has_changes(struct files_struct *fsp) +{ + if (fsp == NULL) { + return false; + } + + if (fsp->notify == NULL) { + return false; + } + + if (fsp->notify->num_changes == 0) { + return false; + } + + return true; +} + /* * For NTCancel, we need to find the notify_change_request indexed by * mid. Separate list here. diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h index e9365661be..03a09cd27e 100644 --- a/source3/smbd/proto.h +++ b/source3/smbd/proto.h @@ -496,6 +496,7 @@ void reply_negprot(struct smb_request *req); /* The following definitions come from smbd/notify.c */ +bool change_notify_fsp_has_changes(struct files_struct *fsp); void change_notify_reply(struct smb_request *req, NTSTATUS error_code, uint32_t max_param, |