xz: Make setting a preset override a custom filter chain.
authorLasse Collin <lasse.collin@tukaani.org>
Thu, 2 Sep 2010 16:22:35 +0000 (19:22 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Thu, 2 Sep 2010 16:22:35 +0000 (19:22 +0300)
This is more logical behavior than ignoring preset level
options once a custom filter chain has been specified.

src/xz/coder.c

index af49f43..841f63a 100644 (file)
@@ -67,6 +67,15 @@ extern void
 coder_set_preset(size_t new_preset)
 {
        preset_number = new_preset;
+
+       // Setting a preset makes us forget a possibly defined custom
+       // filter chain.
+       while (filters_count > 0) {
+               --filters_count;
+               free(filters[filters_count].options);
+               filters[filters_count].options = NULL;
+       }
+
        return;
 }