diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/reply.c | 2 | ||||
-rw-r--r-- | source3/smbd/vfs.c | 9 |
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) |