vfs: remove root_dir_fid arg from SMB_VFS_CREATE_FILE()
[bbaumbach/samba-autobuild/.git] / source3 / lib / adouble.c
index 49ab8865d6a08e8a8bc004e5a7f46dcfb9af3680..8e8b6a7750363de7df3bd6b4e79a2f70086affb8 100644 (file)
@@ -1095,6 +1095,7 @@ static bool ad_convert_xattr(vfs_handle_struct *handle,
                                                  smb_fname->base_name,
                                                  mapped_name,
                                                  NULL,
+                                                 smb_fname->twrp,
                                                  smb_fname->flags);
                TALLOC_FREE(mapped_name);
                if (stream_name == NULL) {
@@ -1108,7 +1109,6 @@ static bool ad_convert_xattr(vfs_handle_struct *handle,
                status = SMB_VFS_CREATE_FILE(
                        handle->conn,                   /* conn */
                        NULL,                           /* req */
-                       0,                              /* root_dir_fid */
                        stream_name,                    /* fname */
                        FILE_GENERIC_WRITE,             /* access_mask */
                        FILE_SHARE_READ | FILE_SHARE_WRITE, /* share_access */
@@ -1225,6 +1225,7 @@ static bool ad_convert_finderinfo(vfs_handle_struct *handle,
                                          smb_fname->base_name,
                                          AFPINFO_STREAM,
                                          NULL,
+                                         smb_fname->twrp,
                                          smb_fname->flags);
        if (stream_name == NULL) {
                data_blob_free(&aiblob);
@@ -1237,7 +1238,6 @@ static bool ad_convert_finderinfo(vfs_handle_struct *handle,
        status = SMB_VFS_CREATE_FILE(
                handle->conn,                   /* conn */
                NULL,                           /* req */
-               0,                              /* root_dir_fid */
                stream_name,                    /* fname */
                FILE_GENERIC_WRITE,             /* access_mask */
                FILE_SHARE_READ | FILE_SHARE_WRITE, /* share_access */
@@ -1468,7 +1468,6 @@ static bool ad_unconvert_open_ad(TALLOC_CTX *mem_ctx,
        status = SMB_VFS_CREATE_FILE(
                handle->conn,
                NULL,                           /* req */
-               0,                              /* root_dir_fid */
                adpath,
                FILE_READ_DATA|FILE_WRITE_DATA,
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
@@ -1520,7 +1519,6 @@ static bool ad_unconvert_get_streams(struct vfs_handle_struct *handle,
        status = SMB_VFS_CREATE_FILE(
                handle->conn,                           /* conn */
                NULL,                                   /* req */
-               0,                                      /* root_dir_fid */
                smb_fname,                              /* fname */
                FILE_READ_ATTRIBUTES,                   /* access_mask */
                (FILE_SHARE_READ | FILE_SHARE_WRITE |   /* share_access */
@@ -1597,6 +1595,7 @@ static bool ad_collect_one_stream(struct vfs_handle_struct *handle,
                                    smb_fname->base_name,
                                    stream->name,
                                    NULL,
+                                   smb_fname->twrp,
                                    0);
        if (sname == NULL) {
                return false;
@@ -1619,7 +1618,6 @@ static bool ad_collect_one_stream(struct vfs_handle_struct *handle,
        status = SMB_VFS_CREATE_FILE(
                handle->conn,
                NULL,                           /* req */
-               0,                              /* root_dir_fid */
                sname,
                FILE_READ_DATA|DELETE_ACCESS,
                FILE_SHARE_READ,
@@ -2081,7 +2079,6 @@ static int ad_open_rsrc(vfs_handle_struct *handle,
        status = SMB_VFS_CREATE_FILE(
                handle->conn,                   /* conn */
                NULL,                           /* req */
-               0,                              /* root_dir_fid */
                adp_smb_fname,
                access_mask,
                share_access,
@@ -2180,7 +2177,9 @@ static ssize_t ad_read_rsrc_adouble(vfs_handle_struct *handle,
        }
 
        /* Now parse entries */
-       ok = ad_unpack(ad, ADEID_NUM_DOT_UND, size);
+       ok = ad_unpack(ad,
+                      ADEID_NUM_DOT_UND,
+                      ad->ad_fsp->fsp_name->st.st_ex_size);
        if (!ok) {
                DBG_ERR("invalid AppleDouble resource %s\n",
                        smb_fname->base_name);