ARCHIVE\_READ\_FREE(3) Library Functions Manual ARCHIVE\_READ\_FREE(3)

# [NAME](#NAME)

`archive_read_close`, `archive_read_finish`, `archive_read_free` — functions for reading streaming archives

# [LIBRARY](#LIBRARY)

Streaming Archive Library (libarchive, -larchive)

# [SYNOPSIS](#SYNOPSIS)

`#include <archive.h>`

`int`  
`archive_read_close`(`struct archive *`);

`int`  
`archive_read_finish`(`struct archive *`);

`int`  
`archive_read_free`(`struct archive *`);

# [DESCRIPTION](#DESCRIPTION)

[`archive_read_close`](#archive_read_close)()

Complete the archive and invoke the close callback.

[`archive_read_finish`](#archive_read_finish)()

This is a deprecated synonym for [`archive_read_free`](#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.

`archive_read_free`()

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.

# [RETURN VALUES](#RETURN_VALUES)

These functions return `ARCHIVE_OK` on success, or `ARCHIVE_FATAL`.

# [ERRORS](#ERRORS)

Detailed error codes and textual descriptions are available from the `archive_errno`() and `archive_error_string`() functions.

# [SEE ALSO](#SEE_ALSO)

[archive\_read\_data(3)](/man/os/libarchive/archive_read_data.3), [archive\_read\_filter(3)](/man/os/libarchive/archive_read_filter.3), [archive\_read\_format(3)](/man/os/libarchive/archive_read_format.3), [archive\_read\_new(3)](/man/os/libarchive/archive_read_new.3), [archive\_read\_open(3)](/man/os/libarchive/archive_read_open.3), [archive\_read\_set\_options(3)](/man/os/libarchive/archive_read_set_options.3), [archive\_util(3)](/man/os/libarchive/archive_util.3), [libarchive(3)](/man/os/libarchive/libarchive.3)

February 2, 2012 Linux 4.19.0-gvisor

---

Document: archive_read_free(3) from libarchive 3.8.9-r3 (Chainguard OS)
Source: https://github.com/libarchive/libarchive
