char *display_description;
union {
char *flags;
- struct lookup_table *lookup_table;
+ struct wim_lookup_table *lookup_table;
};
};
/* Used to sort an array of struct image_infos by their image indices. */
static int sort_by_index(const void *p1, const void *p2)
{
- int index_1 = ((struct image_info*)p1)->index;
- int index_2 = ((struct image_info*)p1)->index;
+ int index_1 = ((const struct image_info*)p1)->index;
+ int index_2 = ((const struct image_info*)p2)->index;
if (index_1 < index_2)
return -1;
else if (index_1 > index_2)
}
#endif
-static int calculate_dentry_statistics(struct dentry *dentry, void *arg)
+static int calculate_dentry_statistics(struct wim_dentry *dentry, void *arg)
{
struct image_info *info = arg;
- struct lookup_table *lookup_table = info->lookup_table;
- const struct inode *inode = dentry->d_inode;
- struct lookup_table_entry *lte;
+ struct wim_lookup_table *lookup_table = info->lookup_table;
+ const struct wim_inode *inode = dentry->d_inode;
+ struct wim_lookup_table_entry *lte;
/* Update directory count and file count.
*
info->hard_link_bytes += wim_resource_size(lte);
}
- if (inode->link_count >= 2 && dentry_is_first_in_inode(dentry)) {
- for (unsigned i = 0; i < inode->num_ads; i++) {
- if (inode->ads_entries[i].stream_name_len) {
+ if (inode->i_nlink >= 2 && dentry_is_first_in_inode(dentry)) {
+ for (unsigned i = 0; i < inode->i_num_ads; i++) {
+ if (inode->i_ads_entries[i].stream_name_len) {
lte = inode_stream_lte(inode, i + 1, lookup_table);
if (lte) {
- info->hard_link_bytes += inode->link_count *
+ info->hard_link_bytes += inode->i_nlink *
wim_resource_size(lte);
}
}
encoding_handler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_UTF16LE);
if (!encoding_handler) {
ERROR("Failed to get XML character encoding handler for UTF-16LE");
- ret = WIMLIB_ERR_CHAR_CONVERSION;
+ ret = WIMLIB_ERR_LIBXML_UTF16_HANDLER_NOT_AVAILABLE;
goto out_cleanup_char_encoding_handlers;
}