X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fadd_image.c;h=746c06a92dd43ed6d1cf0c427b5e1080988699ec;hb=51f8edf82794f07055e3d9bcc8cd51bf0d86fae0;hp=fcb4c472661dd6db75b08d6f99b14a370aff5c63;hpb=5218b1d7c83cf9e98ed6276e099844ae0d80abc2;p=wimlib diff --git a/src/add_image.c b/src/add_image.c index fcb4c472..746c06a9 100644 --- a/src/add_image.c +++ b/src/add_image.c @@ -21,9 +21,16 @@ * along with wimlib; if not, see http://www.gnu.org/licenses/. */ -#include "wimlib_internal.h" -#include "lookup_table.h" -#include "xml.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "wimlib.h" +#include "wimlib/capture.h" +#include "wimlib/error.h" +#include "wimlib/lookup_table.h" +#include "wimlib/metadata.h" +#include "wimlib/xml.h" /* * Adds the dentry tree and security data for a new image to the image metadata @@ -61,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) { @@ -70,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!", @@ -113,7 +115,7 @@ out_put_image_metadata: wim->lookup_table); goto out; out_free_security_data: - free_security_data(sd); + free_wim_security_data(sd); out: return ret; } @@ -146,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, @@ -198,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,