w->hdr.lookup_table_res_entry.offset = lookup_table_offset;
w->hdr.lookup_table_res_entry.size =
xml_data_offset - lookup_table_offset;
- ret = finish_write(w, WIM_ALL_IMAGES,
- write_flags | WIMLIB_WRITE_FLAG_NO_LOOKUP_TABLE);
- if (ret != 0)
- return ret;
-
- ret = fclose(w->out_fp);
- if (ret != 0)
- ret = WIMLIB_ERR_WRITE;
- w->out_fp = NULL;
- return ret;
+ return finish_write(w, WIM_ALL_IMAGES,
+ write_flags | WIMLIB_WRITE_FLAG_NO_LOOKUP_TABLE);
}
static int copy_resource_to_swm(struct lookup_table_entry *lte, void *__args)
args->lte_chain_tail = NULL;
args->lte_chain_head = NULL;
- sprintf(args->swm_base_name + args->swm_base_name_len, "%d",
- ++args->part_number);
- strcat(args->swm_base_name, args->swm_suffix);
+ sprintf(args->swm_base_name + args->swm_base_name_len, "%d%s",
+ ++args->part_number, args->swm_suffix);
w->hdr.part_number = args->part_number;