Commit a03c5fce136e44135380318322984e77cd637f4f

Authored by m-holger
1 parent 9a84ef3b

Simplify stream filtering logic and remove unused variable.

Removed the unnecessary `filterable` variable and streamlined the logic for handling stream decoding parameters. These changes eliminate redundant checks, improve readability, and ensure clarity in flow control for filter processing.
Showing 1 changed file with 11 additions and 17 deletions
libqpdf/QPDF_Stream.cc
@@ -382,8 +382,6 @@ Stream::filterable( @@ -382,8 +382,6 @@ Stream::filterable(
382 return false; 382 return false;
383 } 383 }
384 384
385 - bool filterable = true;  
386 -  
387 // filters now contains a list of filters to be applied in order. See which ones we can support. 385 // filters now contains a list of filters to be applied in order. See which ones we can support.
388 386
389 // See if we can support any decode parameters that are specified. 387 // See if we can support any decode parameters that are specified.
@@ -407,10 +405,6 @@ Stream::filterable( @@ -407,10 +405,6 @@ Stream::filterable(
407 // /DecodeParms was [ << >> ] when /Filters was empty has been seen in the wild. 405 // /DecodeParms was [ << >> ] when /Filters was empty has been seen in the wild.
408 if ((filters.size() != 0) && (decode_parms.size() != filters.size())) { 406 if ((filters.size() != 0) && (decode_parms.size() != filters.size())) {
409 warn("stream /DecodeParms length is inconsistent with filters"); 407 warn("stream /DecodeParms length is inconsistent with filters");
410 - filterable = false;  
411 - }  
412 -  
413 - if (!filterable) {  
414 return false; 408 return false;
415 } 409 }
416 410
@@ -418,20 +412,20 @@ Stream::filterable( @@ -418,20 +412,20 @@ Stream::filterable(
418 auto filter = filters.at(i); 412 auto filter = filters.at(i);
419 auto decode_item = decode_parms.at(i); 413 auto decode_item = decode_parms.at(i);
420 414
421 - if (filter->setDecodeParms(decode_item)) {  
422 - if (filter->isSpecializedCompression()) {  
423 - specialized_compression = true;  
424 - }  
425 - if (filter->isLossyCompression()) {  
426 - specialized_compression = true;  
427 - lossy_compression = true;  
428 - }  
429 - } else {  
430 - filterable = false; 415 + if (!filter->setDecodeParms(decode_item)) {
  416 + return false;
  417 + }
  418 + if (filter->isLossyCompression()) {
  419 + specialized_compression = true;
  420 + lossy_compression = true;
  421 + continue;
  422 + }
  423 + if (filter->isSpecializedCompression()) {
  424 + specialized_compression = true;
431 } 425 }
432 } 426 }
433 427
434 - return filterable; 428 + return true;
435 } 429 }
436 430
437 bool 431 bool