void free_lookup_table_entry(struct lookup_table_entry *lte)
{
if (lte) {
-#ifdef WITH_FUSE
- if (lte->staging_list.next)
- list_del(<e->staging_list);
-#endif
switch (lte->resource_location) {
case RESOURCE_IN_STAGING_FILE:
case RESOURCE_IN_ATTACHED_BUFFER:
static void finalize_lte(struct lookup_table_entry *lte)
{
#ifdef WITH_FUSE
- if (lte->resource_location == RESOURCE_IN_STAGING_FILE)
+ if (lte->resource_location == RESOURCE_IN_STAGING_FILE) {
unlink(lte->staging_file_name);
+ wimlib_assert(lte->staging_list.next);
+ list_del(<e->staging_list);
+ }
#endif
free_lookup_table_entry(lte);
}
return NULL;
}
+#ifdef WITH_FUSE
/*
* Finds the dentry, lookup table entry, and stream index for a WIM file stream,
* given a path name.
*stream_idx_ret = stream_idx;
return 0;
}
+#endif
static void inode_resolve_ltes(struct inode *inode, struct lookup_table *table)
{
/* Resolve the alternate data streams */
for (u16 i = 0; i < inode->num_ads; i++) {
- struct ads_entry *cur_entry = inode->ads_entries[i];
-
+ struct ads_entry *cur_entry = &inode->ads_entries[i];
lte = __lookup_resource(table, cur_entry->hash);
cur_entry->lte = lte;
}