Commit 642a1110eda08f35b93da4aa42070d96668c8a70
1 parent
018cf0eb
Code tidy QPDFWriter::willFilterStream
Showing
1 changed file
with
10 additions
and
9 deletions
libqpdf/QPDFWriter.cc
| @@ -1249,7 +1249,7 @@ QPDFWriter::willFilterStream( | @@ -1249,7 +1249,7 @@ QPDFWriter::willFilterStream( | ||
| 1249 | if (stream_dict.isDictionaryOfType("/Metadata")) { | 1249 | if (stream_dict.isDictionaryOfType("/Metadata")) { |
| 1250 | is_metadata = true; | 1250 | is_metadata = true; |
| 1251 | } | 1251 | } |
| 1252 | - bool filter = (stream.isDataModified() || m->compress_streams || m->stream_decode_level); | 1252 | + bool filter = stream.isDataModified() || m->compress_streams || m->stream_decode_level; |
| 1253 | bool filter_on_write = stream.getFilterOnWrite(); | 1253 | bool filter_on_write = stream.getFilterOnWrite(); |
| 1254 | if (!filter_on_write) { | 1254 | if (!filter_on_write) { |
| 1255 | QTC::TC("qpdf", "QPDFWriter getFilterOnWrite false"); | 1255 | QTC::TC("qpdf", "QPDFWriter getFilterOnWrite false"); |
| @@ -1261,15 +1261,15 @@ QPDFWriter::willFilterStream( | @@ -1261,15 +1261,15 @@ QPDFWriter::willFilterStream( | ||
| 1261 | // CPU cycles uncompressing and recompressing stuff. This can be overridden with | 1261 | // CPU cycles uncompressing and recompressing stuff. This can be overridden with |
| 1262 | // setRecompressFlate(true). | 1262 | // setRecompressFlate(true). |
| 1263 | QPDFObjectHandle filter_obj = stream_dict.getKey("/Filter"); | 1263 | QPDFObjectHandle filter_obj = stream_dict.getKey("/Filter"); |
| 1264 | - if ((!m->recompress_flate) && (!stream.isDataModified()) && filter_obj.isName() && | ||
| 1265 | - ((filter_obj.getName() == "/FlateDecode") || (filter_obj.getName() == "/Fl"))) { | 1264 | + if (!m->recompress_flate && !stream.isDataModified() && filter_obj.isName() && |
| 1265 | + (filter_obj.getName() == "/FlateDecode" || filter_obj.getName() == "/Fl")) { | ||
| 1266 | QTC::TC("qpdf", "QPDFWriter not recompressing /FlateDecode"); | 1266 | QTC::TC("qpdf", "QPDFWriter not recompressing /FlateDecode"); |
| 1267 | filter = false; | 1267 | filter = false; |
| 1268 | } | 1268 | } |
| 1269 | } | 1269 | } |
| 1270 | bool normalize = false; | 1270 | bool normalize = false; |
| 1271 | bool uncompress = false; | 1271 | bool uncompress = false; |
| 1272 | - if (filter_on_write && is_metadata && ((!m->encrypted) || (m->encrypt_metadata == false))) { | 1272 | + if (filter_on_write && is_metadata && (!m->encrypted || !m->encrypt_metadata)) { |
| 1273 | QTC::TC("qpdf", "QPDFWriter not compressing metadata"); | 1273 | QTC::TC("qpdf", "QPDFWriter not compressing metadata"); |
| 1274 | filter = true; | 1274 | filter = true; |
| 1275 | compress_stream = false; | 1275 | compress_stream = false; |
| @@ -1283,18 +1283,19 @@ QPDFWriter::willFilterStream( | @@ -1283,18 +1283,19 @@ QPDFWriter::willFilterStream( | ||
| 1283 | } | 1283 | } |
| 1284 | 1284 | ||
| 1285 | bool filtered = false; | 1285 | bool filtered = false; |
| 1286 | - for (int attempt = 1; attempt <= 2; ++attempt) { | 1286 | + for (bool first_attempt: {true, false}) { |
| 1287 | pushPipeline(new Pl_Buffer("stream data")); | 1287 | pushPipeline(new Pl_Buffer("stream data")); |
| 1288 | PipelinePopper pp_stream_data(this, stream_data); | 1288 | PipelinePopper pp_stream_data(this, stream_data); |
| 1289 | activatePipelineStack(pp_stream_data); | 1289 | activatePipelineStack(pp_stream_data); |
| 1290 | try { | 1290 | try { |
| 1291 | filtered = stream.pipeStreamData( | 1291 | filtered = stream.pipeStreamData( |
| 1292 | m->pipeline, | 1292 | m->pipeline, |
| 1293 | - (((filter && normalize) ? qpdf_ef_normalize : 0) | | ||
| 1294 | - ((filter && compress_stream) ? qpdf_ef_compress : 0)), | ||
| 1295 | - (filter ? (uncompress ? qpdf_dl_all : m->stream_decode_level) : qpdf_dl_none), | 1293 | + !filter ? 0 |
| 1294 | + : ((normalize ? qpdf_ef_normalize : 0) | | ||
| 1295 | + (compress_stream ? qpdf_ef_compress : 0)), | ||
| 1296 | + !filter ? qpdf_dl_none : (uncompress ? qpdf_dl_all : m->stream_decode_level), | ||
| 1296 | false, | 1297 | false, |
| 1297 | - (attempt == 1)); | 1298 | + first_attempt); |
| 1298 | } catch (std::runtime_error& e) { | 1299 | } catch (std::runtime_error& e) { |
| 1299 | throw std::runtime_error( | 1300 | throw std::runtime_error( |
| 1300 | "error while getting stream data for " + stream.unparse() + ": " + e.what()); | 1301 | "error while getting stream data for " + stream.unparse() + ": " + e.what()); |