]> sigrok.org Git - libsigrok.git/blobdiff - src/session_file.c
zip: Provide fallback if zip_discard() is unavailable
[libsigrok.git] / src / session_file.c
index 294614a140095942a0b1ad1d6cd52cc3a1a01369..d86f5c1c744973715234070e1b3818fd13096610 100644 (file)
 extern SR_PRIV struct sr_dev_driver session_driver;
 static int session_driver_initialized = 0;
 
+#if !HAVE_ZIP_DISCARD
+/* Replacement for zip_discard() if it isn't available.
+ */
+SR_PRIV void sr_zip_discard(struct zip *archive)
+{
+       if (zip_unchange_all(archive) < 0 || zip_close(archive) < 0)
+               sr_err("Failed to discard ZIP archive: %s", zip_strerror(archive));
+}
+#endif
+
 /** Read metadata entries from a session archive.
  * @param[in] archive An open ZIP archive.
  * @param[in] entry Stat buffer filled in for the metadata archive member.