libarchive как читать составные tar - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу прочитать файл tar, который был создан путем объединения нескольких .tar.gz файлов с использованием cat one.tar.gz two.tar.gz .... > combined.tar.gz с использованием libarchive.

Я могу читать файлы для первого файла tar, используя while(;;) r = archive_read_next_header(a, &entry);, но как только он заканчивает чтение, я получаю Closing file Segmentation fault (core dumped)

Как я могу позволить libarchive перейти к чтению следующего файла tar?

1 Ответ

0 голосов
/ 25 апреля 2020

Оказывается, библиотека поддерживает это. Нужно только установить набор параметров read_concatenated_archives.

archive_read_set_options(a, "read_concatenated_archives")

см. здесь для примера.

...