-+/* Turn the ACL data in statx into cached ACL data, setting the index
-+ * values in the file struct. */
-+void cache_acl(struct file_struct *file, statx *sxp)
-+{
-+ SMB_ACL_TYPE_T type;
-+ rsync_acl *racl;
-+ item_list *racl_list;
-+ char *ndx_ptr;
-+
-+ if (!sxp->acc_acl)
-+ return;
-+
-+ type = SMB_ACL_TYPE_ACCESS;
-+ racl = sxp->acc_acl;
-+ racl_list = &access_acl_list;
-+ ndx_ptr = (char*)file + file_struct_len;
-+ do {
-+ int ndx = find_matching_rsync_acl(type, racl_list, racl);
-+ if (ndx == -1) {
-+ acl_duo *new_duo;
-+ ndx = racl_list->count;
-+ new_duo = EXPAND_ITEM_LIST(racl_list, acl_duo, 1000);
-+ new_duo->racl = *racl;
-+ new_duo->sacl = NULL;
-+ *racl = empty_rsync_acl;
-+ } else
-+ rsync_acl_free(racl);
-+ SIVAL(ndx_ptr, 0, ndx);
-+ racl = sxp->def_acl;
-+ racl_list = &default_acl_list;
-+ ndx_ptr += 4;
-+ } while (BUMP_TYPE(type) && S_ISDIR(sxp->st.st_mode));
-+}
-+
-+/* Return the ACL(s) for the given filename. */