X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fmodify.c;h=7fc1a6cfe4f21eca877a581b0b5601a9a4aa3d85;hb=45c3ad86e44a05a169bfb1fa8ff318861bbf9fbf;hp=775312c6b92b714dcd58729fca4dc32e4dab0e4a;hpb=26fdf3f709adf52521e1cf962095987a3e0e2e00;p=wimlib diff --git a/src/modify.c b/src/modify.c index 775312c6..7fc1a6cf 100644 --- a/src/modify.c +++ b/src/modify.c @@ -196,13 +196,13 @@ static int build_dentry_tree(struct dentry **root_ret, if (ret != 0) break; if (child) - link_dentry(child, root); + dentry_add_child(root, child); } closedir(dir); } else if (dentry_is_symlink(root)) { /* Archiving a symbolic link */ char deref_name_buf[4096]; ssize_t deref_name_len; - + deref_name_len = readlink(root_disk_path, deref_name_buf, sizeof(deref_name_buf) - 1); if (deref_name_len >= 0) { @@ -389,7 +389,7 @@ static int add_new_dentry_tree(WIMStruct *w, struct dentry *root_dentry, if (!imd) { ERROR("Failed to allocate memory for new image metadata array"); - return WIMLIB_ERR_NOMEM; + goto err; } memcpy(imd, w->image_metadata, @@ -397,7 +397,7 @@ static int add_new_dentry_tree(WIMStruct *w, struct dentry *root_dentry, metadata_lte = new_lookup_table_entry(); if (!metadata_lte) - goto out_free_imd; + goto err_free_imd; metadata_lte->resource_entry.flags = WIM_RESHDR_FLAG_METADATA; random_hash(metadata_lte->hash); @@ -420,10 +420,9 @@ static int add_new_dentry_tree(WIMStruct *w, struct dentry *root_dentry, ret = select_wim_image(w, w->hdr.image_count); wimlib_assert(ret == 0); return ret; -out_free_metadata_lte: - FREE(metadata_lte); -out_free_imd: +err_free_imd: FREE(imd); +err: return WIMLIB_ERR_NOMEM; } @@ -760,7 +759,7 @@ static int init_capture_config(const char *_config_str, size_t config_len, ret = WIMLIB_ERR_INVALID_CAPTURE_CONFIG; goto out_destroy; } - + next_p = eol + 1; bytes_remaining -= (next_p - p); if (eol == p)