From fe18385ffaa7e5b11db86af1e992c0fb1984609a Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Wed, 15 Jul 2009 04:26:32 +0000 Subject: clean up windows portability code, make remaining test suite pass git-svn-id: svn+q:///qpdf/trunk@686 71b93d88-0707-0410-a8cf-f5a4172ac649 --- examples/pdf-mod-info.cc | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'examples/pdf-mod-info.cc') 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 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)); } -- cgit v1.2.3-54-g00ecf