ARCHIVE_READ_FREE(3) manual page == NAME == '''archive_read_close''', '''archive_read_finish''', '''archive_read_free''' - functions for reading streaming archives == LIBRARY == Streaming Archive Library (libarchive, -larchive) == SYNOPSIS == '''<nowiki>#include <archive.h></nowiki>''' <br> ''int'' <br> '''archive_read_close'''(''struct archive *''); <br> ''int'' <br> '''archive_read_finish'''(''struct archive *''); <br> ''int'' <br> '''archive_read_free'''(''struct archive *''); == DESCRIPTION == <dl> <dt>'''archive_read_close'''()</dt><dd> Complete the archive and invoke the close callback. </dd><dt>'''archive_read_finish'''()</dt><dd> This is a deprecated synonym for '''archive_read_free'''(). The new name was introduced with libarchive 3.0. Applications that need to compile with either libarchive 2 or libarchive 3 should continue to use the '''archive_read_finish'''() name. Both names will be supported until libarchive 4.0 is released, which is not expected to occur earlier than 2013. </dd><dt>'''archive_read_free'''()</dt><dd> Invokes '''archive_read_close'''() if it was not invoked manually, then release all resources. Note: In libarchive 1.x, this function was declared to return ''void ,'' which made it impossible to detect certain errors when '''archive_read_close'''() was invoked implicitly from this function. The declaration is corrected beginning with libarchive 2.0. </dd></dl> == RETURN VALUES == These functions return '''ARCHIVE_OK''' on success, or '''ARCHIVE_FATAL'''. == ERRORS == Detailed error codes and textual descriptions are available from the '''archive_errno'''() and '''archive_error_string'''() functions. == SEE ALSO == [[ManPagerchiveeadata3]], [[ManPagerchiveeadilter3]], [[ManPagerchiveeadormat3]], [[ManPagerchiveeadew3]], [[ManPagerchiveeadpen3]], [[ManPagerchiveeadetptions3]], [[ManPagerchivetil3]], [[ManPageibarchive3]]