X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fadd_image.c;h=d40dfa097487d6efb1108775d9a30847e50f6339;hb=9c7e852e60e96935beef11a28b0f010f7e24e863;hp=263c2e757330ecb5931a19a98763a1d21cf5d79b;hpb=143db75c035e6ecaca451ce70a4ed58a01102b43;p=wimlib diff --git a/src/add_image.c b/src/add_image.c index 263c2e75..d40dfa09 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 @@ -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; } @@ -177,7 +179,7 @@ wimlib_add_image_multisource(WIMStruct *wim, } /* Delegate the work to wimlib_update_image(). */ - ret = wimlib_update_image(wim, wim->hdr.image_count, add_cmds, + ret = wimlib_update_image(wim, wim->hdr.image_count, add_cmds, num_sources, 0, progress_func); FREE(add_cmds); if (ret)