X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fadd_image.c;h=a06ee939cbb9b68c44ad4d3d40ed08231022220c;hp=caffafebd23de4935cd2bd4d84591b8dc1cc779e;hb=31274ba5cbf4de73c8a68e7d17f490c3b0df6cff;hpb=4d9794d1f1a6044c261faae0968af1b2c0480f4b diff --git a/src/add_image.c b/src/add_image.c index caffafeb..a06ee939 100644 --- a/src/add_image.c +++ b/src/add_image.c @@ -45,14 +45,14 @@ add_new_dentry_tree(WIMStruct *wim, struct wim_dentry *root_dentry, 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; } @@ -68,7 +68,7 @@ add_new_dentry_tree(WIMStruct *wim, struct wim_dentry *root_dentry, 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) { @@ -77,17 +77,12 @@ wimlib_add_empty_image(WIMStruct *wim, const tchar *name, int *new_idx_ret) DEBUG("Adding empty image \"%"TS"\"", name); - if (name == NULL || name[0] == T('\0')) { - ERROR("Must specify a non-empty string for the image name"); - ret = WIMLIB_ERR_INVALID_PARAM; - goto out; - } + 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!", @@ -97,7 +92,7 @@ wimlib_add_empty_image(WIMStruct *wim, const tchar *name, int *new_idx_ret) } sd = new_wim_security_data(); - if (!sd) { + if (sd == NULL) { ret = WIMLIB_ERR_NOMEM; goto out; } @@ -153,8 +148,7 @@ capture_sources_to_add_cmds(const struct wimlib_capture_source *sources, 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, @@ -178,7 +172,7 @@ wimlib_add_image_multisource(WIMStruct *wim, /* 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; } @@ -205,7 +199,7 @@ out: 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,