Add const to the smb_filename argument of smbd_check_access_rights().
[ddiss/samba.git] / source3 / smbd / file_access.c
index 74855649ea2fe2b4b971581b2660f3445f0373d7..c2203673f3d86236eb1abb4b1c946232536a9227 100644 (file)
@@ -80,7 +80,7 @@ bool can_access_file_acl(struct connection_struct *conn,
 ****************************************************************************/
 
 bool can_delete_file_in_directory(connection_struct *conn,
-                                 struct smb_filename *smb_fname)
+                                 const struct smb_filename *smb_fname)
 {
        TALLOC_CTX *ctx = talloc_tos();
        char *dname = NULL;
@@ -130,18 +130,10 @@ bool can_delete_file_in_directory(connection_struct *conn,
        /* sticky bit means delete only by owner of file or by root or
         * by owner of directory. */
        if (smb_fname_parent->st.st_ex_mode & S_ISVTX) {
-               if(SMB_VFS_STAT(conn, smb_fname) != 0) {
-                       if (errno == ENOENT) {
-                               /* If the file doesn't already exist then
-                                * yes we'll be able to delete it. */
-                               ret = true;
-                               goto out;
-                       }
-                       DEBUG(10,("can_delete_file_in_directory: can't "
-                                 "stat file %s (%s)",
-                                 smb_fname_str_dbg(smb_fname),
-                                 strerror(errno) ));
-                       ret = false;
+               if (!VALID_STAT(smb_fname->st)) {
+                       /* If the file doesn't already exist then
+                        * yes we'll be able to delete it. */
+                       ret = true;
                        goto out;
                }