Commit 9a84ef3b1c2260ca9e9ccbe3595ac43b3317681a
1 parent
56c43934
Refactor stream filter handling for better array support
Replaced manual array handling with cleaner iteration using `as_array`. This improves code readability and ensures more robust processing of stream filter arrays.
Showing
1 changed file
with
2 additions
and
4 deletions
libqpdf/QPDF_Stream.cc
| @@ -363,11 +363,9 @@ Stream::filterable( | @@ -363,11 +363,9 @@ Stream::filterable( | ||
| 363 | return false; | 363 | return false; |
| 364 | } | 364 | } |
| 365 | filters.emplace_back(ff()); | 365 | filters.emplace_back(ff()); |
| 366 | - } else if (filter_obj.isArray()) { | 366 | + } else if (auto array = filter_obj.as_array(strict)) { |
| 367 | // Potentially multiple filters | 367 | // Potentially multiple filters |
| 368 | - int n = filter_obj.getArrayNItems(); | ||
| 369 | - for (int i = 0; i < n; ++i) { | ||
| 370 | - QPDFObjectHandle item = filter_obj.getArrayItem(i); | 368 | + for (auto const& item: array) { |
| 371 | if (!item.isName()) { | 369 | if (!item.isName()) { |
| 372 | warn("stream filter type is not name or array"); | 370 | warn("stream filter type is not name or array"); |
| 373 | return false; | 371 | return false; |