Mercurial > hg > orthanc
comparison OrthancFramework/Resources/Patches/boost-1.69.0-linux-standard-base.patch @ 4044:d25f4c0fa160 framework
splitting code into OrthancFramework and OrthancServer
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 10 Jun 2020 20:30:34 +0200 |
parents | Resources/Patches/boost-1.69.0-linux-standard-base.patch@fa8481daefd7 |
children | caed453042db |
comparison
equal
deleted
inserted
replaced
4043:6c6239aec462 | 4044:d25f4c0fa160 |
---|---|
1 diff -urEb boost_1_69_0.orig/boost/move/adl_move_swap.hpp boost_1_69_0/boost/move/adl_move_swap.hpp | |
2 --- boost_1_69_0.orig/boost/move/adl_move_swap.hpp 2019-02-22 15:05:32.682359994 +0100 | |
3 +++ boost_1_69_0/boost/move/adl_move_swap.hpp 2019-02-22 15:05:48.426358034 +0100 | |
4 @@ -28,6 +28,8 @@ | |
5 //Try to avoid including <algorithm>, as it's quite big | |
6 #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB) | |
7 #include <utility> //Dinkum libraries define std::swap in utility which is lighter than algorithm | |
8 +#elif defined(__LSB_VERSION__) | |
9 +# include <utility> | |
10 #elif defined(BOOST_GNU_STDLIB) | |
11 //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions | |
12 //use the good old stl_algobase header, which is quite lightweight | |
13 diff -urEb boost_1_69_0.orig/boost/system/detail/system_category_win32.hpp boost_1_69_0/boost/system/detail/system_category_win32.hpp | |
14 --- boost_1_69_0.orig/boost/system/detail/system_category_win32.hpp 2019-02-22 15:05:32.722359989 +0100 | |
15 +++ boost_1_69_0/boost/system/detail/system_category_win32.hpp 2019-02-22 15:06:31.922352713 +0100 | |
16 @@ -26,7 +26,7 @@ | |
17 namespace detail | |
18 { | |
19 | |
20 -#if ( defined(_MSC_VER) && _MSC_VER < 1900 ) || ( defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) ) | |
21 +#if ( defined(_MSC_VER) && _MSC_VER < 1900 ) || ( defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) ) || 1 /* std::snprintf() does not seem to exist on Visual Studio 2015 */ | |
22 | |
23 inline char const * unknown_message_win32( int ev, char * buffer, std::size_t len ) | |
24 { | |
25 diff -urEb boost_1_69_0.orig/boost/thread/detail/config.hpp boost_1_69_0/boost/thread/detail/config.hpp | |
26 --- boost_1_69_0.orig/boost/thread/detail/config.hpp 2019-02-22 15:05:32.598360004 +0100 | |
27 +++ boost_1_69_0/boost/thread/detail/config.hpp 2019-02-22 15:05:48.426358034 +0100 | |
28 @@ -418,7 +418,7 @@ | |
29 #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO | |
30 #elif defined(BOOST_THREAD_CHRONO_MAC_API) | |
31 #define BOOST_THREAD_HAS_MONO_CLOCK | |
32 -#elif defined(__ANDROID__) | |
33 +#elif defined(__ANDROID__) || defined(__LSB_VERSION__) | |
34 #define BOOST_THREAD_HAS_MONO_CLOCK | |
35 #if defined(__ANDROID_API__) && __ANDROID_API__ >= 21 | |
36 #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO | |
37 diff -urEb boost_1_69_0.orig/boost/type_traits/detail/has_postfix_operator.hpp boost_1_69_0/boost/type_traits/detail/has_postfix_operator.hpp | |
38 --- boost_1_69_0.orig/boost/type_traits/detail/has_postfix_operator.hpp 2019-02-22 15:05:32.650359998 +0100 | |
39 +++ boost_1_69_0/boost/type_traits/detail/has_postfix_operator.hpp 2019-02-22 15:05:48.426358034 +0100 | |
40 @@ -85,8 +85,11 @@ | |
41 namespace boost { | |
42 namespace detail { | |
43 | |
44 +// https://stackoverflow.com/a/15474269 | |
45 +#ifndef Q_MOC_RUN | |
46 // This namespace ensures that argument-dependent name lookup does not mess things up. | |
47 namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { | |
48 +#endif | |
49 | |
50 // 1. a function to have an instance of type T without requiring T to be default | |
51 // constructible | |
52 @@ -234,7 +237,9 @@ | |
53 BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); | |
54 }; | |
55 | |
56 +#ifndef Q_MOC_RUN | |
57 } // namespace impl | |
58 +#endif | |
59 } // namespace detail | |
60 | |
61 // this is the accessible definition of the trait to end user | |
62 diff -urEb boost_1_69_0.orig/boost/type_traits/detail/has_prefix_operator.hpp boost_1_69_0/boost/type_traits/detail/has_prefix_operator.hpp | |
63 --- boost_1_69_0.orig/boost/type_traits/detail/has_prefix_operator.hpp 2019-02-22 15:05:32.650359998 +0100 | |
64 +++ boost_1_69_0/boost/type_traits/detail/has_prefix_operator.hpp 2019-02-22 15:05:48.426358034 +0100 | |
65 @@ -114,8 +114,11 @@ | |
66 namespace boost { | |
67 namespace detail { | |
68 | |
69 +// https://stackoverflow.com/a/15474269 | |
70 +#ifndef Q_MOC_RUN | |
71 // This namespace ensures that argument-dependent name lookup does not mess things up. | |
72 namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { | |
73 +#endif | |
74 | |
75 // 1. a function to have an instance of type T without requiring T to be default | |
76 // constructible | |
77 @@ -263,7 +266,9 @@ | |
78 BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); | |
79 }; | |
80 | |
81 +#ifndef Q_MOC_RUN | |
82 } // namespace impl | |
83 +#endif | |
84 } // namespace detail | |
85 | |
86 // this is the accessible definition of the trait to end user | |
87 diff -urEb boost_1_69_0.orig/libs/filesystem/src/operations.cpp boost_1_69_0/libs/filesystem/src/operations.cpp | |
88 --- boost_1_69_0.orig/libs/filesystem/src/operations.cpp 2019-02-22 15:05:32.566360008 +0100 | |
89 +++ boost_1_69_0/libs/filesystem/src/operations.cpp 2019-02-22 18:04:17.346573047 +0100 | |
90 @@ -2111,9 +2111,16 @@ | |
91 std::size_t path_size (0); // initialization quiets gcc warning (ticket #3509) | |
92 error_code ec = path_max(path_size); | |
93 if (ec)return ec; | |
94 - dirent de; | |
95 - buffer = std::malloc((sizeof(dirent) - sizeof(de.d_name)) | |
96 - + path_size + 1); // + 1 for "/0" | |
97 + | |
98 + // Fixed possible use of uninitialized dirent::d_type in dir_iterator | |
99 + // https://github.com/boostorg/filesystem/commit/bbe9d1771e5d679b3f10c42a58fc81f7e8c024a9 | |
100 + const std::size_t buffer_size = (sizeof(dirent) - sizeof(dirent().d_name)) | |
101 + + path_size + 1; // + 1 for "\0" | |
102 + buffer = std::malloc(buffer_size); | |
103 + if (BOOST_UNLIKELY(!buffer)) | |
104 + return make_error_code(boost::system::errc::not_enough_memory); | |
105 + std::memset(buffer, 0, buffer_size); | |
106 + | |
107 return ok; | |
108 } | |
109 | |
110 @@ -2142,6 +2149,13 @@ | |
111 *result = 0; | |
112 if ((p = ::readdir(dirp))== 0) | |
113 return errno; | |
114 + | |
115 + // Fixed possible use of uninitialized dirent::d_type in dir_iterator | |
116 + // https://github.com/boostorg/filesystem/commit/bbe9d1771e5d679b3f10c42a58fc81f7e8c024a9 | |
117 +# ifdef BOOST_FILESYSTEM_STATUS_CACHE | |
118 + entry->d_type = p->d_type; | |
119 +# endif | |
120 + | |
121 std::strcpy(entry->d_name, p->d_name); | |
122 *result = entry; | |
123 return 0; |