aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QUtil.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-01-11 04:28:15 +0100
committerJay Berkenbilt <ejb@ql.org>2019-01-11 04:35:08 +0100
commit4ecd1df6f2ecb98d388082b154497ed61aa11e18 (patch)
treebf43e8f5869c4c1e0e7f97dcc33a8dab28d7b70f /libqpdf/QUtil.cc
parentd24a120c7ffb4cbfd2dcebe63577d8704442f7bd (diff)
downloadqpdf-4ecd1df6f2ecb98d388082b154497ed61aa11e18.tar.zst
Add configure option AVOID_WINDOWS_HANDLE
If set, we avoid using Windows I/O HANDLE, which is disallowed in some versions of the Windows SDK, such as for Windows phones. QUtil::same_file will always return false in this case. Only applies to Windows builds.
Diffstat (limited to 'libqpdf/QUtil.cc')
-rw-r--r--libqpdf/QUtil.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libqpdf/QUtil.cc b/libqpdf/QUtil.cc
index 2d307956..8424854b 100644
--- a/libqpdf/QUtil.cc
+++ b/libqpdf/QUtil.cc
@@ -214,13 +214,14 @@ QUtil::same_file(char const* name1, char const* name2)
return false;
}
#ifdef _WIN32
+ bool same = false;
+# ifndef AVOID_WINDOWS_HANDLE
HANDLE fh1 = CreateFile(name1, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
HANDLE fh2 = CreateFile(name2, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
BY_HANDLE_FILE_INFORMATION fi1;
BY_HANDLE_FILE_INFORMATION fi2;
- bool same = false;
if ((fh1 != INVALID_HANDLE_VALUE) &&
(fh2 != INVALID_HANDLE_VALUE) &&
GetFileInformationByHandle(fh1, &fi1) &&
@@ -239,6 +240,7 @@ QUtil::same_file(char const* name1, char const* name2)
{
CloseHandle(fh2);
}
+# endif
return same;
#else
struct stat st1;