summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/reply.c2
-rw-r--r--source3/smbd/vfs.c9
2 files changed, 10 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 00e6f44dd0..7e6a244190 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -1888,7 +1888,7 @@ int reply_unlink(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
if (!has_wild) {
pstrcat(directory,"/");
pstrcat(directory,mask);
- if (can_delete(directory,conn,dirtype) && !dos_unlink(directory))
+ if (can_delete(directory,conn,dirtype) && !vfs_unlink(conn,directory))
count++;
if (!count)
exists = vfs_file_exist(conn,directory,NULL);
diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c
index 7c34817351..496d3e0432 100644
--- a/source3/smbd/vfs.c
+++ b/source3/smbd/vfs.c
@@ -243,6 +243,15 @@ BOOL vfs_directory_exist(connection_struct *conn, char *dname,
}
/*******************************************************************
+ vfs Unlink wrapper that calls dos_to_unix.
+********************************************************************/
+
+int vfs_unlink(connection_struct *conn, char *fname)
+{
+ return(conn->vfs_ops.unlink(dos_to_unix(fname,False)));
+}
+
+/*******************************************************************
check if a vfs file exists
********************************************************************/
BOOL vfs_file_exist(connection_struct *conn,char *fname,SMB_STRUCT_STAT *sbuf)