]> wimlib.net Git - wimlib/blobdiff - src/dentry.c
Update INSTALL
[wimlib] / src / dentry.c
index 90cadb433190f53742e17965ad65598199056861..81a04d2b1534408e7c44580fb40c9cee991e5c86 100644 (file)
@@ -1117,9 +1117,9 @@ void inode_remove_ads(struct wim_inode *inode, u16 idx,
 
        destroy_ads_entry(ads_entry);
 
-       memcpy(&inode->i_ads_entries[idx],
-              &inode->i_ads_entries[idx + 1],
-              (inode->i_num_ads - idx - 1) * sizeof(inode->i_ads_entries[0]));
+       memmove(&inode->i_ads_entries[idx],
+               &inode->i_ads_entries[idx + 1],
+               (inode->i_num_ads - idx - 1) * sizeof(inode->i_ads_entries[0]));
        inode->i_num_ads--;
 }
 #endif
@@ -1473,7 +1473,7 @@ int read_dentry(const u8 metadata_resource[], u64 metadata_resource_len,
                 *      u64 reserved1; (always 0)
                 *      u64 reserved2; (always 0)
                 * };*/
-               DEBUG("Dentry for file or directory `%s' has %zu extra "
+               DEBUG("Dentry for file or directory `%s' has %"PRIu64" extra "
                      "bytes of data",
                      file_name_utf8, dentry->length - calculated_size);
        }
@@ -1745,14 +1745,13 @@ static u8 *write_dentry_tree_recursive(const struct wim_dentry *parent, u8 *p)
         * recursively writing the directory trees rooted at each of the child
         * dentries, since the on-disk dentries for a dentry's children are
         * always located at consecutive positions in the metadata resource! */
-       for_dentry_in_rbtree(parent->d_inode->i_children.rb_node, write_dentry_cb, &p);
+       for_dentry_child(parent, write_dentry_cb, &p);
 
        /* write end of directory entry */
        p = put_u64(p, 0);
 
        /* Recurse on children. */
-       for_dentry_in_rbtree(parent->d_inode->i_children.rb_node,
-                            write_dentry_tree_recursive_cb, &p);
+       for_dentry_child(parent, write_dentry_tree_recursive_cb, &p);
        return p;
 }