When closing a truncated file, and removing the file fails, this
is not an error.
diff --git a/lib/zip_close.c b/lib/zip_close.c
index 2657226..6980a57 100644
--- a/lib/zip_close.c
+++ b/lib/zip_close.c
@@ -73,8 +73,10 @@
     if (survivors == 0) {
 	if ((za->open_flags & ZIP_TRUNCATE) || changed) {
 	    if (zip_source_remove(za->src) < 0) {
-		_zip_error_set_from_source(&za->error, za->src);
-		return -1;
+		if (!((zip_error_code_zip(zip_source_error(za->src)) == ZIP_ER_REMOVE) && (zip_error_code_system(zip_source_error(za->src)) == ENOENT))) {
+		    _zip_error_set_from_source(&za->error, za->src);
+		    return -1;
+		}
 	    }
 	}
 	zip_discard(za);