]> wimlib.net Git - wimlib/blobdiff - src/update_image.c
Update version to v1.7.4-BETA
[wimlib] / src / update_image.c
index f14775a714664a5b19c040cbce6a95e61f59800b..bb1b60472169e10755efd638e5455829c92df9da 100644 (file)
@@ -5,20 +5,18 @@
 /*
  * Copyright (C) 2013, 2014 Eric Biggers
  *
- * This file is part of wimlib, a library for working with WIM files.
+ * This file is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 3 of the License, or (at your option) any
+ * later version.
  *
- * wimlib is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 3 of the License, or (at your option)
- * any later version.
- *
- * wimlib is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * This file is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  * details.
  *
- * You should have received a copy of the GNU General Public License
- * along with wimlib; if not, see http://www.gnu.org/licenses/.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this file; if not, see http://www.gnu.org/licenses/.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -767,7 +765,7 @@ execute_add_command(struct update_command_journal *j,
        tchar *fs_source_path;
        tchar *wim_target_path;
        const tchar *config_file;
-       struct add_image_params params;
+       struct capture_params params;
        struct capture_config config;
        capture_tree_t capture_tree = platform_default_capture_tree;
 #ifdef WITH_NTFS_3G
@@ -869,8 +867,6 @@ execute_add_command(struct update_command_journal *j,
 #ifdef WITH_NTFS_3G
        wim_get_current_image_metadata(wim)->ntfs_vol = ntfs_vol;
 #endif
-       if (add_flags & WIMLIB_ADD_FLAG_RPFIX)
-               wim->hdr.flags |= WIM_HDR_FLAG_RP_FIX;
        ret = 0;
        goto out_destroy_config;
 out_cleanup_after_capture:
@@ -1437,14 +1433,6 @@ wimlib_update_image(WIMStruct *wim,
 
        DEBUG("Updating image %d with %zu commands", image, num_cmds);
 
-       if (have_command_type(cmds, num_cmds, WIMLIB_UPDATE_OP_DELETE))
-               ret = can_delete_from_wim(wim);
-       else
-               ret = can_modify_wim(wim);
-
-       if (ret)
-               goto out;
-
        /* Load the metadata for the image to modify (if not loaded already) */
        ret = select_wim_image(wim, image);
        if (ret)
@@ -1478,6 +1466,11 @@ wimlib_update_image(WIMStruct *wim,
         * directories, may have changed.  Call xml_update_image_info() to
         * recalculate these statistics. */
        xml_update_image_info(wim, image);
+
+       for (size_t i = 0; i < num_cmds; i++)
+               if (cmds_copy[i].op == WIMLIB_UPDATE_OP_ADD &&
+                   cmds_copy[i].add.add_flags & WIMLIB_ADD_FLAG_RPFIX)
+                       wim->hdr.flags |= WIM_HDR_FLAG_RP_FIX;
 out_free_cmds_copy:
        free_update_commands(cmds_copy, num_cmds);
 out: