From af86dc8c52c3cda36f3a7250e8195f5394751d33 Mon Sep 17 00:00:00 2001 From: Axel Burri Date: Tue, 15 Nov 2022 23:06:21 +0100 Subject: [PATCH] btrbk: allow compressors not to have a compression level Not all compressors support compression level (option `-#`): print a warning if compress_level is set, and ignore its value for such compressors. --- btrbk | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/btrbk b/btrbk index e0bffd1..bb910b7 100755 --- a/btrbk +++ b/btrbk @@ -719,15 +719,17 @@ sub compress_cmd_text($;$) if((not $decompress) && defined($def->{level}) && ($def->{level} ne "default")) { my $level = $def->{level}; - if($level < $cc->{level_min}) { + if(!defined($cc->{level_min})) { + WARN_ONCE "Compression level is not supported for '$cc->{name}', ignoring"; + $level = undef; + } elsif($level < $cc->{level_min}) { WARN_ONCE "Compression level capped to minimum for '$cc->{name}': $cc->{level_min}"; $level = $cc->{level_min}; - } - if($level > $cc->{level_max}) { + } elsif($level > $cc->{level_max}) { WARN_ONCE "Compression level capped to maximum for '$cc->{name}': $cc->{level_max}"; $level = $cc->{level_max}; } - push @cmd, '-' . $level; + push @cmd, '-' . $level if(defined($level)); } if(defined($def->{threads}) && ($def->{threads} ne "default")) { my $thread_opt = $cc->{threads};