]> wimlib.net Git - wimlib/blobdiff - src/write.c
split WIM apply, doc updates
[wimlib] / src / write.c
index 9aa8116c0b3dbb8b84b2c22e3c08eb3d85a04890..497158999c807fb0ba6c0d0a8831a70f22f5b082 100644 (file)
  * This file is part of wimlib, a library for working with WIM files.
  *
  * wimlib 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 2.1 of the License, or (at your option)
+ * 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 Lesser General Public License for more
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more
  * details.
  *
- * You should have received a copy of the GNU Lesser General Public License
+ * You should have received a copy of the GNU General Public License
  * along with wimlib; if not, see http://www.gnu.org/licenses/.
  */
 
@@ -60,6 +60,9 @@ WIMLIBAPI int wimlib_overwrite(WIMStruct *w, int flags)
        size_t wim_name_len;
        int ret;
        
+       if (!w)
+               return WIMLIB_ERR_INVALID_PARAM;
+
        wimfile_name = w->filename;
 
        DEBUG("Replacing WIM file `%s'.", wimfile_name);
@@ -401,10 +404,19 @@ WIMLIBAPI int wimlib_write(WIMStruct *w, const char *path, int image, int flags)
 {
        int ret;
 
+       if (!w || !path)
+               return WIMLIB_ERR_INVALID_PARAM;
+
        if (image != WIM_ALL_IMAGES && 
             (image < 1 || image > w->hdr.image_count))
                return WIMLIB_ERR_INVALID_IMAGE;
 
+
+       if (w->hdr.total_parts != 1) {
+               ERROR("Cannot call wimlib_write() on part of a split WIM");
+               return WIMLIB_ERR_SPLIT_UNSUPPORTED;
+       }
+
        if (image == WIM_ALL_IMAGES)
                DEBUG("Writing all images to `%s'.", path);
        else