aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pdf-mod-info.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2009-07-15 06:26:32 +0200
committerJay Berkenbilt <ejb@ql.org>2009-07-15 06:26:32 +0200
commitfe18385ffaa7e5b11db86af1e992c0fb1984609a (patch)
tree132e8e04227971809c592a680d0dc497a2c677a4 /examples/pdf-mod-info.cc
parent86f2d3449c651674b92b1249186375ad821f9017 (diff)
downloadqpdf-fe18385ffaa7e5b11db86af1e992c0fb1984609a.tar.zst
clean up windows portability code, make remaining test suite pass
git-svn-id: svn+q:///qpdf/trunk@686 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'examples/pdf-mod-info.cc')
-rw-r--r--examples/pdf-mod-info.cc25
1 files changed, 15 insertions, 10 deletions
diff --git a/examples/pdf-mod-info.cc b/examples/pdf-mod-info.cc
index 7401a571..4e851316 100644
--- a/examples/pdf-mod-info.cc
+++ b/examples/pdf-mod-info.cc
@@ -77,14 +77,8 @@ int main(int argc, char* argv[])
bool static_id = false;
std::map<std::string, std::string> Keys;
- if ((whoami = strrchr(argv[0], '/')) == NULL)
- {
- whoami = argv[0];
- }
- else
- {
- ++whoami;
- }
+ whoami = QUtil::getWhoami(argv[0]);
+
// For libtool's sake....
if (strncmp(whoami, "lt-", 3) == 0)
{
@@ -161,6 +155,9 @@ int main(int argc, char* argv[])
usage();
}
+ std::string fl_tmp = fl_out;
+ fl_tmp += ".tmp";
+
try
{
QPDF file;
@@ -198,13 +195,21 @@ int main(int argc, char* argv[])
fileinfo.replaceKey(it->first, elt);
}
}
- std::string fl_tmp = fl_out;
- fl_tmp += ".tmp";
QPDFWriter w(file, fl_tmp.c_str());
w.setStreamDataMode(QPDFWriter::s_preserve);
w.setLinearization(true);
w.setStaticID(static_id);
w.write();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ exit(2);
+ }
+
+ try
+ {
+ (void) unlink(fl_out);
QUtil::os_wrapper("rename " + fl_tmp + " " + std::string(fl_out),
rename(fl_tmp.c_str(), fl_out));
}