free(buff);
return;
}
+ } else if (r == ARCHIVE_FATAL &&
+ (strcmp(archive_error_string(a),
+ "lzma compression not supported on this platform") == 0 ||
+ strcmp(archive_error_string(a),
+ "xz compression not supported on this platform") == 0)) {
+ skipping("%s filter not suported on this platform", filter_name);
+ assertEqualInt(ARCHIVE_OK, archive_write_free(a));
+ free(buff);
+ return;
} else {
if (!assertEqualIntA(a, ARCHIVE_OK, r)) {
assertEqualInt(ARCHIVE_OK, archive_write_free(a));
assert((a = archive_read_new()) != NULL);
assertA(0 == archive_read_set_format(a, ARCHIVE_FORMAT_TAR));
r = archive_read_append_filter(a, ARCHIVE_FILTER_GZIP);
- if (r == ARCHIVE_WARN) {
+ if (r == ARCHIVE_WARN && !canGzip()) {
skipping("gzip reading not fully supported on this platform");
assertEqualInt(ARCHIVE_OK, archive_read_free(a));
return;