LINUX.ORG.RU

Идеальным был бы апи, который позволяет работать с архивом, как с каталогом. Но это уже сугубо мои фантазии. :-D

Bohtvaroh ★★★★
() автор топика
Ответ на: комментарий от acefsm

Ок, выкачаю исходники - посмотрю. Но боюсь, что для задачи распаковки архива на файловую систему время, затраченное на пляски с wxWidgets, может себя не оправдать.

Задумывался про exec, но этот вариант выглядит непереносимым. :-/ В общем проблема остаётся.

Bohtvaroh ★★★★
() автор топика
Ответ на: комментарий от Bohtvaroh

Да, посмотрел libtar. В нём есть tar_extract_all (...), который в принципе может устроить. Одно смущает, дата последнего обновления библиотеки - 2003 год.

Bohtvaroh ★★★★
() автор топика
Ответ на: комментарий от JFreeM

gzip тоже не менялся, но всякого рода дыры то и дело закрывают. Меня собственно что смутило, zlib.h присутствует, и при этом libtar.h - нет. Не "из коробки" получается. :)

Bohtvaroh ★★★★
() автор топика
Ответ на: комментарий от zwon

Опять же, не из коробки. Остановился всё-таки на варианте, использованном в гномовском инсталляторе темы, которые представляют собой архивы:

if (!(bzip2 = g_find_program_in_path("bzip2")))
{
return NULL;
}
command = g_strdup_printf ("sh -c '%s -d -c < \"%s\" | %s ft - | head -n 1'", bzip2, filename, tar);
if (!g_spawn_command_line_sync (command, &top_level_dir, NULL, &status, NULL) || status != 0)
{
...
}

По сути это exec, но зато не нарушается принцип KISS.

Bohtvaroh ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.