Ticket #13642: bfs-relative.patch

File bfs-relative.patch, 1.2 KB (added by martin.apel@…, 4 years ago)
Line 
1diff -cbr boost_1_67_0/libs/filesystem/src/path.cpp boost_1_67_0.mod/libs/filesystem/src/path.cpp
2*** boost_1_67_0/libs/filesystem/src/path.cpp 2018-04-11 15:49:02.000000000 +0200
3--- boost_1_67_0.mod/libs/filesystem/src/path.cpp 2018-07-25 09:00:48.497293257 +0200
4***************
5*** 25,30 ****
6--- 25,31 ----
7 #include <boost/filesystem/config.hpp>
8 #include <boost/filesystem/path.hpp>
9 #include <boost/filesystem/operations.hpp> // for filesystem_error
10+ #include <boost/algorithm/string/predicate.hpp>
11 #include <boost/scoped_array.hpp>
12 #include <boost/system/error_code.hpp>
13 #include <boost/assert.hpp>
14***************
15*** 386,392 ****
16--- 387,398 ----
17 std::pair<path::iterator, path::iterator> mismatch(path::iterator it1,
18 path::iterator it1end, path::iterator it2, path::iterator it2end)
19 {
20+ #ifdef BOOST_WINDOWS_API
21+ // On Windows perform the path component comparison in a case insensitive way
22+ for (; it1 != it1end && it2 != it2end && algorithm::iequals(it1->generic_string(), it2->generic_string());)
23+ #else
24 for (; it1 != it1end && it2 != it2end && *it1 == *it2;)
25+ #endif
26 {
27 ++it1;
28 ++it2;