X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fdentry.c;h=35a89d11e06238f98a8c5e68584dc0c291091062;hp=90cadb433190f53742e17965ad65598199056861;hb=e1ec9c16b55adb6947b4d1ff46dc847430db4746;hpb=c7af42d3d894338bbd1cb7f4b77948f746485482 diff --git a/src/dentry.c b/src/dentry.c index 90cadb43..35a89d11 100644 --- a/src/dentry.c +++ b/src/dentry.c @@ -745,7 +745,7 @@ int print_dentry(struct wim_dentry *dentry, void *lookup_table) printf("Full Path (UTF-8) = \"%s\"\n", dentry->full_path_utf8); lte = inode_stream_lte(dentry->d_inode, 0, lookup_table); if (lte) { - print_lookup_table_entry(lte); + print_lookup_table_entry(lte, stdout); } else { hash = inode_stream_hash(inode, 0); if (hash) { @@ -766,8 +766,8 @@ int print_dentry(struct wim_dentry *dentry, void *lookup_table) print_hash(hash); putchar('\n'); } - print_lookup_table_entry(inode_stream_lte(inode, i + 1, - lookup_table)); + print_lookup_table_entry(inode_stream_lte(inode, i + 1, lookup_table), + stdout); } return 0; } @@ -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; }