From 4ecd1df6f2ecb98d388082b154497ed61aa11e18 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Thu, 10 Jan 2019 22:28:15 -0500 Subject: 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. --- libqpdf/QUtil.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libqpdf/QUtil.cc') 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; -- cgit v1.2.3-70-g09d2