hlist_for_each_entry_safe(lte, pos, tmp, &table->array[i],
hash_list)
{
- wimlib_assert2(!(lte->resource_entry.flags & WIM_RESHDR_FLAG_METADATA));
ret = visitor(lte, arg);
if (ret)
return ret;
* resource. */
struct wim_lookup_table_entry *prev_entry = NULL;
- if (back_to_back_pack) {
+ if (back_to_back_pack &&
+ !list_empty(&cur_rspec->stream_list))
+ {
prev_entry = list_entry(cur_rspec->stream_list.prev,
struct wim_lookup_table_entry,
rspec_node);
goto out_free_buf;
out_free_cur_entry:
- FREE(cur_entry);
+ free_lookup_table_entry(cur_entry);
out_free_lookup_table:
free_lookup_table(table);
out_free_buf:
struct filedes *out_fd,
u16 part_number,
struct wim_reshdr *out_reshdr,
- int write_resource_flags,
- struct wimlib_lzx_context **comp_ctx)
+ int write_resource_flags)
{
size_t table_size;
struct wim_lookup_table_entry *lte;
0,
out_reshdr,
NULL,
- write_resource_flags,
- comp_ctx);
+ write_resource_flags);
FREE(table_buf);
DEBUG("ret=%d", ret);
return ret;
}
}
- dentry = get_dentry(wim, path);
+ dentry = get_dentry(wim, path, WIMLIB_CASE_SENSITIVE);
if (p)
*p = T(':');
if (!dentry)