diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-01-11 04:28:15 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-01-11 04:35:08 +0100 |
commit | 4ecd1df6f2ecb98d388082b154497ed61aa11e18 (patch) | |
tree | bf43e8f5869c4c1e0e7f97dcc33a8dab28d7b70f /libqpdf/QUtil.cc | |
parent | d24a120c7ffb4cbfd2dcebe63577d8704442f7bd (diff) | |
download | qpdf-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.cc | 4 |
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; |