}
}
out:
+#ifdef HAVE_ARCHIVE_READ_FREE
archive_write_free(t->archive);
+#else
+ archive_write_finish(t->archive);
+#endif
talloc_free(ctx);
return err;
}
t->archive = archive_read_new();
archive_read_support_format_all(t->archive);
+#ifdef HAVE_ARCHIVE_READ_SUPPORT_FILTER_ALL
archive_read_support_filter_all(t->archive);
+#endif
if (strequal(t->tar_path, "-")) {
r = archive_read_open_fd(t->archive, STDIN_FILENO, bsize);
}
out:
+#ifdef HAVE_ARCHIVE_READ_FREE
r = archive_read_free(t->archive);
+#else
+ r = archive_read_finish(t->archive);
+#endif
if (r != ARCHIVE_OK) {
DBG(0, ("Can't close %s : %s\n", t->tar_path,
archive_error_string(t->archive)));
# check for libarchive (tar command in smbclient)
# None means autodetect, True/False means enable/disable
- conf.env['archive_lib'] = ''
+ conf.SET_TARGET_TYPE('archive', 'EMPTY')
if Options.options.with_libarchive is not False:
libarchive_mandatory = Options.options.with_libarchive == True
Logs.info("Checking for libarchive existence")
- if conf.CHECK_BUNDLED_SYSTEM('libarchive', minversion='3.1.2'):
- conf.env['archive_lib'] = 'libarchive'
+ if conf.CHECK_HEADERS('archive.h') and conf.CHECK_LIB('archive', shlib=True):
+ conf.CHECK_FUNCS_IN('archive_read_support_filter_all archive_read_free', 'archive')
elif libarchive_mandatory:
- conf.fatal('libarchive support requested, but no suitable pkgconfig found')
+ conf.fatal('libarchive support requested, but not found')
# check for DMAPI libs
if Options.options.with_dmapi == False: