diff options
author | Volker Lendecke <vlendec@samba.org> | 2007-01-17 16:23:45 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:17:13 -0500 |
commit | 940192ddcc9d23e3bec806b4419d5845eeac0fd0 (patch) | |
tree | 60d01078e1fd8f017e5245179d99a7b1bc8b6a12 /source3/smbd/reply.c | |
parent | b385a40f592ae7e9962f4034e9cbe66352681e2c (diff) | |
download | samba-940192ddcc9d23e3bec806b4419d5845eeac0fd0.tar.gz samba-940192ddcc9d23e3bec806b4419d5845eeac0fd0.tar.bz2 samba-940192ddcc9d23e3bec806b4419d5845eeac0fd0.zip |
r20854: Ok, now I think we're at a point where looking at notify starts to make sense
again :-)
Volker
(This used to be commit 5533cdeec1b0cdee39b1d89e2320587dc9281ee6)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 2d11b3db98..4d139be98f 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1857,6 +1857,8 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype, if (SMB_VFS_UNLINK(conn,directory) == 0) { count++; + notify_fname(conn, directory, -1, + NOTIFY_ACTION_REMOVED); } } else { struct smb_Dir *dir_hnd = NULL; @@ -1913,9 +1915,14 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype, if (!NT_STATUS_IS_OK(status)) { continue; } - if (SMB_VFS_UNLINK(conn,fname) == 0) + if (SMB_VFS_UNLINK(conn,fname) == 0) { count++; - DEBUG(3,("unlink_internals: succesful unlink [%s]\n",fname)); + DEBUG(3,("unlink_internals: succesful unlink " + "[%s]\n",fname)); + notify_action(conn, directory, dname, + -1, NOTIFY_ACTION_REMOVED); + } + } CloseDir(dir_hnd); } @@ -3779,6 +3786,18 @@ BOOL rmdir_internals(connection_struct *conn, const char *directory) return False; } + { + char *parent_dir; + const char *dirname; + + if (parent_dirname_talloc(tmp_talloc_ctx(), directory, + &parent_dir, &dirname)) { + notify_action(conn, parent_dir, dirname, -1, + NOTIFY_ACTION_REMOVED); + TALLOC_FREE(parent_dir); /* Not strictly necessary */ + } + } + return True; } |