aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2017-08-05 14:33:18 +0200
committerJay Berkenbilt <ejb@ql.org>2017-08-05 16:22:33 +0200
commit1ec59c299d2e78554bf79cd6e28fbf2ad79777b2 (patch)
treecf1ed0b730a06ffa388e360dfc0b04e961068187
parent909daf9543a6e364a50568485278fdfd6c6abb7d (diff)
downloadqpdf-1ec59c299d2e78554bf79cd6e28fbf2ad79777b2.tar.zst
Refactor write_output
-rw-r--r--qpdf/qpdf.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc
index 2d123d85..4fb60966 100644
--- a/qpdf/qpdf.cc
+++ b/qpdf/qpdf.cc
@@ -1871,14 +1871,8 @@ static void set_encryption_options(QPDF& pdf, Options& o, QPDFWriter& w)
}
}
-static void write_outfile(QPDF& pdf, Options& o)
+static void set_writer_options(QPDF& pdf, Options& o, QPDFWriter& w)
{
- QPDF encryption_pdf;
- if (strcmp(o.outfilename, "-") == 0)
- {
- o.outfilename = 0;
- }
- QPDFWriter w(pdf, o.outfilename);
if (o.qdf_mode)
{
w.setQDFMode(true);
@@ -1925,6 +1919,7 @@ static void write_outfile(QPDF& pdf, Options& o)
}
if (o.copy_encryption)
{
+ QPDF encryption_pdf;
encryption_pdf.processFile(
o.encryption_file, o.encryption_file_password);
w.copyEncryptionParameters(encryption_pdf);
@@ -1955,6 +1950,16 @@ static void write_outfile(QPDF& pdf, Options& o)
parse_version(o.force_version, version, extension_level);
w.forcePDFVersion(version, extension_level);
}
+}
+
+static void write_outfile(QPDF& pdf, Options& o)
+{
+ if (strcmp(o.outfilename, "-") == 0)
+ {
+ o.outfilename = 0;
+ }
+ QPDFWriter w(pdf, o.outfilename);
+ set_writer_options(pdf, o, w);
w.write();
}