List Archive


Thread Index


From: Andreas Falkenhahn <>
To: libzip mailing list <>
Subject: When to free zip_source?
Date: Tue, 31 Oct 2017 16:06:04 +0100

I want to add a file to a zip archive from custom data streamed in using
a callback source, like so:

        s = zip_source_function(arc->archive, my_zip_source_callback, userdata);
        zip_file_add(arc->archive, name, s, ZIP_FL_ENC_UTF_8);

Now when should I free "s"? I cannot do this right after zip_file_add() because
the source is still needed. So do I have to do it after



Or are sources freed automatically when closing an archive? Or are they freed
automatically on ZIP_SOURCE_FREE? The documentation on ZIP_SOURCE_FREE says:

        ZIP_SOURCE_FREE: Clean up and free all resources, including `state`. The
                        callback function will not be called again.

What is meant by "state" here? Does this mean the source will be freed


Best regards,
 Andreas Falkenhahn                 

Made by MHonArc.