int ret;
metadata_lte = new_lookup_table_entry();
- if (!metadata_lte)
+ if (metadata_lte == NULL)
return WIMLIB_ERR_NOMEM;
- metadata_lte->resource_entry.flags = WIM_RESHDR_FLAG_METADATA;
+ metadata_lte->flags = WIM_RESHDR_FLAG_METADATA;
metadata_lte->unhashed = 1;
new_imd = new_image_metadata();
- if (!new_imd) {
+ if (new_imd == NULL) {
free_lookup_table_entry(metadata_lte);
return WIMLIB_ERR_NOMEM;
}
return ret;
}
-/* Append an empty image to the WIMStruct. */
+/* API function documented in wimlib.h */
WIMLIBAPI int
wimlib_add_empty_image(WIMStruct *wim, const tchar *name, int *new_idx_ret)
{
if (name == NULL)
name = T("");
- if (wim->hdr.total_parts != 1) {
- ERROR("Cannot add an image to a split WIM");
- ret = WIMLIB_ERR_SPLIT_UNSUPPORTED;
+ ret = can_modify_wim(wim);
+ if (ret)
goto out;
- }
if (wimlib_image_name_in_use(wim, name)) {
ERROR("There is already an image named \"%"TS"\" in the WIM!",
}
sd = new_wim_security_data();
- if (!sd) {
+ if (sd == NULL) {
ret = WIMLIB_ERR_NOMEM;
goto out;
}
return add_cmds;
}
-/* Adds an image to the WIMStruct from multiple on-disk directory trees, or a
- * NTFS volume. */
+/* API function documented in wimlib.h */
WIMLIBAPI int
wimlib_add_image_multisource(WIMStruct *wim,
const struct wimlib_capture_source *sources,
/* Translate the "capture sources" into generic update commands. */
add_cmds = capture_sources_to_add_cmds(sources, num_sources,
add_flags, config);
- if (!add_cmds) {
+ if (add_cmds == NULL) {
ret = WIMLIB_ERR_NOMEM;
goto out_delete_image;
}
return ret;
}
-/* Adds an image to the WIMStruct from an on-disk directory tree or NTFS volume. */
+/* API function documented in wimlib.h */
WIMLIBAPI int
wimlib_add_image(WIMStruct *wim,
const tchar *source,