You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(10) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
(2) |
May
(10) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2008 |
Jan
(6) |
Feb
(4) |
Mar
(5) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(4) |
Aug
(6) |
Sep
(2) |
Oct
(9) |
Nov
(1) |
Dec
(4) |
2009 |
Jan
(9) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(6) |
Jun
(18) |
Jul
(33) |
Aug
(39) |
Sep
(33) |
Oct
(24) |
Nov
(23) |
Dec
(22) |
2010 |
Jan
(29) |
Feb
(32) |
Mar
(51) |
Apr
(17) |
May
(31) |
Jun
(21) |
Jul
(32) |
Aug
(28) |
Sep
(35) |
Oct
(27) |
Nov
(11) |
Dec
(13) |
2011 |
Jan
(14) |
Feb
(13) |
Mar
(27) |
Apr
(27) |
May
(28) |
Jun
(20) |
Jul
(43) |
Aug
(52) |
Sep
(66) |
Oct
(61) |
Nov
(11) |
Dec
(8) |
2012 |
Jan
(20) |
Feb
(30) |
Mar
(38) |
Apr
(21) |
May
(33) |
Jun
(21) |
Jul
(25) |
Aug
(9) |
Sep
(24) |
Oct
(42) |
Nov
(27) |
Dec
(41) |
2013 |
Jan
(20) |
Feb
(35) |
Mar
(156) |
Apr
(298) |
May
(258) |
Jun
(201) |
Jul
(105) |
Aug
(60) |
Sep
(193) |
Oct
(245) |
Nov
(280) |
Dec
(194) |
2014 |
Jan
(63) |
Feb
(202) |
Mar
(200) |
Apr
(23) |
May
(53) |
Jun
(105) |
Jul
(18) |
Aug
(26) |
Sep
(110) |
Oct
(187) |
Nov
(97) |
Dec
(74) |
2015 |
Jan
(45) |
Feb
(55) |
Mar
(116) |
Apr
(116) |
May
(193) |
Jun
(164) |
Jul
(50) |
Aug
(111) |
Sep
(98) |
Oct
(71) |
Nov
(103) |
Dec
(63) |
2016 |
Jan
(33) |
Feb
(101) |
Mar
(182) |
Apr
(139) |
May
(140) |
Jun
(103) |
Jul
(165) |
Aug
(286) |
Sep
(208) |
Oct
(127) |
Nov
(97) |
Dec
(54) |
2017 |
Jan
(64) |
Feb
(335) |
Mar
(202) |
Apr
(212) |
May
(139) |
Jun
(127) |
Jul
(294) |
Aug
(154) |
Sep
(170) |
Oct
(152) |
Nov
(156) |
Dec
(62) |
2018 |
Jan
(168) |
Feb
(237) |
Mar
(196) |
Apr
(174) |
May
(174) |
Jun
(161) |
Jul
(127) |
Aug
(88) |
Sep
(149) |
Oct
(66) |
Nov
(52) |
Dec
(135) |
2019 |
Jan
(146) |
Feb
(126) |
Mar
(104) |
Apr
(58) |
May
(60) |
Jun
(28) |
Jul
(197) |
Aug
(129) |
Sep
(141) |
Oct
(148) |
Nov
(63) |
Dec
(100) |
2020 |
Jan
(74) |
Feb
(37) |
Mar
(59) |
Apr
(154) |
May
(194) |
Jun
(133) |
Jul
(313) |
Aug
(197) |
Sep
(49) |
Oct
(162) |
Nov
(143) |
Dec
(57) |
2021 |
Jan
(120) |
Feb
(107) |
Mar
(314) |
Apr
(157) |
May
(524) |
Jun
(169) |
Jul
(72) |
Aug
(133) |
Sep
(135) |
Oct
(146) |
Nov
(198) |
Dec
(325) |
2022 |
Jan
(409) |
Feb
(249) |
Mar
(138) |
Apr
(95) |
May
(102) |
Jun
(221) |
Jul
(66) |
Aug
(120) |
Sep
(192) |
Oct
(131) |
Nov
(53) |
Dec
(171) |
2023 |
Jan
(357) |
Feb
(82) |
Mar
(168) |
Apr
(218) |
May
(196) |
Jun
(86) |
Jul
(115) |
Aug
(49) |
Sep
(190) |
Oct
(102) |
Nov
(45) |
Dec
(76) |
2024 |
Jan
(86) |
Feb
(50) |
Mar
(324) |
Apr
(209) |
May
(197) |
Jun
(232) |
Jul
(194) |
Aug
(247) |
Sep
(219) |
Oct
(266) |
Nov
(328) |
Dec
(304) |
2025 |
Jan
(191) |
Feb
(115) |
Mar
(137) |
Apr
(32) |
May
(126) |
Jun
(403) |
Jul
(213) |
Aug
(189) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2024-03-15 10:45:12
|
Author: manx Date: Fri Mar 15 11:44:54 2024 New Revision: 20334 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20334 Log: [Var] Run clang-format. Modified: trunk/OpenMPT/src/mpt/base/tests/tests_base_numeric.hpp Modified: trunk/OpenMPT/src/mpt/base/tests/tests_base_numeric.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/tests/tests_base_numeric.hpp Fri Mar 15 11:24:25 2024 (r20333) +++ trunk/OpenMPT/src/mpt/base/tests/tests_base_numeric.hpp Fri Mar 15 11:44:54 2024 (r20334) @@ -62,7 +62,6 @@ MPT_TEST_EXPECT_EQUAL(mpt::saturate_align_up<int32>(std::numeric_limits<int32>::max() - 2, 4), std::numeric_limits<int32>::max()); MPT_TEST_EXPECT_EQUAL(mpt::saturate_align_up<int32>(std::numeric_limits<int32>::max() - 1, 4), std::numeric_limits<int32>::max()); MPT_TEST_EXPECT_EQUAL(mpt::saturate_align_up<int32>(std::numeric_limits<int32>::max() - 0, 4), std::numeric_limits<int32>::max()); - } } // namespace numeric |
From: <sv...@op...> - 2024-03-15 10:24:43
|
Author: manx Date: Fri Mar 15 11:24:25 2024 New Revision: 20333 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20333 Log: [Fix] mpt/io_read/filedata_base_unseekable.hpp: Avoid integer overflow in EnsureCacheBuffer() when reading unseekable files are close to uint32_max in size. Modified: trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Modified: trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Fri Mar 15 11:23:02 2024 (r20332) +++ trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Fri Mar 15 11:24:25 2024 (r20333) @@ -50,7 +50,7 @@ }; void EnsureCacheBuffer(std::size_t requiredbuffersize) const { - if (cache.size() >= cachesize + requiredbuffersize) { + if (cache.size() - cachesize >= requiredbuffersize) { return; } if (cache.size() == 0) { |
From: <sv...@op...> - 2024-03-15 10:23:20
|
Author: manx Date: Fri Mar 15 11:23:02 2024 New Revision: 20332 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20332 Log: [Fix] mpt/io_read/filedata_base_unseekable.hpp: Fix integer overflow when trying to read close to uint32_max bytes from unseekable files. Modified: trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Modified: trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Fri Mar 15 11:20:31 2024 (r20331) +++ trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Fri Mar 15 11:23:02 2024 (r20332) @@ -54,9 +54,9 @@ return; } if (cache.size() == 0) { - cache.resize(mpt::align_up<std::size_t>(cachesize + requiredbuffersize, BUFFER_SIZE)); + cache.resize(mpt::saturate_align_up<std::size_t>(cachesize + requiredbuffersize, BUFFER_SIZE)); } else if (mpt::exponential_grow(cache.size()) < cachesize + requiredbuffersize) { - cache.resize(mpt::align_up<std::size_t>(cachesize + requiredbuffersize, BUFFER_SIZE)); + cache.resize(mpt::saturate_align_up<std::size_t>(cachesize + requiredbuffersize, BUFFER_SIZE)); } else { cache.resize(mpt::exponential_grow(cache.size())); } @@ -85,7 +85,7 @@ if (target <= cachesize) { return; } - std::size_t alignedpos = mpt::align_up<std::size_t>(target, QUANTUM_SIZE); + std::size_t alignedpos = mpt::saturate_align_up<std::size_t>(target, QUANTUM_SIZE); std::size_t needcount = alignedpos - cachesize; EnsureCacheBuffer(needcount); std::size_t readcount = InternalReadUnseekable(mpt::span(&cache[cachesize], alignedpos - cachesize)).size(); |
Author: manx Date: Fri Mar 15 11:20:31 2024 New Revision: 20331 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20331 Log: [Ref] mpt/base/tests/tests_base_numeric.hpp: Add tests for mpt::saturate_align_up. Added: trunk/OpenMPT/src/mpt/base/tests/tests_base_numeric.hpp (contents, props changed) Modified: trunk/OpenMPT/build/autotools/Makefile.am trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2019win10/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2019win10/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2019win10/updatesigntool.vcxproj trunk/OpenMPT/build/vs2019win10/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2019win10uwp/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2019win10uwp/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2019win10uwp/libopenmpt.vcxproj trunk/OpenMPT/build/vs2019win10uwp/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2019win7/PluginBridge.vcxproj trunk/OpenMPT/build/vs2019win7/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2019win7/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2019win7/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2019win7/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2019win7/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2019win7/libopenmpt.vcxproj trunk/OpenMPT/build/vs2019win7/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2019win7/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2019win7/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2019win81/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2019win81/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2019win81/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2019win81/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2019win81/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2019win81/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2019win81/OpenMPT.vcxproj trunk/OpenMPT/build/vs2019win81/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2019win81/PluginBridge.vcxproj trunk/OpenMPT/build/vs2019win81/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2019win81/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2019win81/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2019win81/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2019win81/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2019win81/libopenmpt.vcxproj trunk/OpenMPT/build/vs2019win81/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2019win81/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2019win81/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2019win81/updatesigntool.vcxproj trunk/OpenMPT/build/vs2019win81/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win10/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win10/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win10/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win10/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win10/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win10/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win10/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win10/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win10/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win10/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win10clang/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win10clang/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win10clang/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win10clang/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win10clang/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win10uwp/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win10uwp/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win10uwp/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win10uwp/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win7/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win7/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win7/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win7/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win7/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win7/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win7/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win7/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win7/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win7/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win7/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win7/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win81/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win81/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win81/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win81/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win81/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win81/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win81/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win81/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win81/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win81/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win81/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win81/updatesigntool.vcxproj.filters trunk/OpenMPT/build/xcode-ios/libopenmpt.xcodeproj/project.pbxproj trunk/OpenMPT/build/xcode-macosx/libopenmpt.xcodeproj/project.pbxproj trunk/OpenMPT/test/mpt_tests_base.cpp Modified: trunk/OpenMPT/build/autotools/Makefile.am ============================================================================== --- trunk/OpenMPT/build/autotools/Makefile.am Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/autotools/Makefile.am Fri Mar 15 11:20:31 2024 (r20331) @@ -262,6 +262,7 @@ MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_arithmetic_shift.hpp MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_bit.hpp MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_math.hpp +MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_numeric.hpp MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_saturate_cast.hpp MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_saturate_round.hpp MPT_FILES_SRC_MPT += src/mpt/base/tests/tests_base_wrapping_divide.hpp Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1020,6 +1020,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1011,6 +1011,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -716,6 +716,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1020,6 +1020,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1011,6 +1011,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1020,6 +1020,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1011,6 +1011,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -768,6 +768,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -315,6 +315,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -774,6 +774,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -315,6 +315,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -801,6 +801,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -636,6 +636,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -801,6 +801,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -636,6 +636,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -831,6 +831,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -642,6 +642,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -699,6 +699,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -402,6 +402,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1020,6 +1020,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1011,6 +1011,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -716,6 +716,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1020,6 +1020,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1011,6 +1011,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1020,6 +1020,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1011,6 +1011,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -768,6 +768,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -315,6 +315,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -774,6 +774,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -315,6 +315,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -801,6 +801,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -636,6 +636,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -801,6 +801,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -636,6 +636,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -831,6 +831,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -642,6 +642,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -699,6 +699,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -402,6 +402,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1795,6 +1795,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT-ANSI.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1053,6 +1053,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1347,6 +1347,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT-NativeSupport.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -462,6 +462,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1795,6 +1795,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT-UTF8.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1053,6 +1053,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1795,6 +1795,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/OpenMPT.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -1053,6 +1053,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1473,6 +1473,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/PluginBridge.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -321,6 +321,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1473,6 +1473,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/PluginBridgeLegacy.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -321,6 +321,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1428,6 +1428,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/libopenmpt-small.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -636,6 +636,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base\tests</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj Fri Mar 15 11:20:31 2024 (r20331) @@ -1428,6 +1428,7 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_arithmetic_shift.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_bit.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp" /> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_cast.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_saturate_round.hpp" /> <ClInclude Include="..\..\src\mpt\base\tests\tests_base_wrapping_divide.hpp" /> Modified: trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj.filters Fri Mar 15 11:19:48 2024 (r20330) +++ trunk/OpenMPT/build/vs2019win10/libopenmpt.vcxproj.filters Fri Mar 15 11:20:31 2024 (r20331) @@ -636,6 +636,9 @@ <ClInclude Include="..\..\src\mpt\base\tests\tests_base_math.hpp"> <Filter>src\mpt\base\tests</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\base\tests\tests_base_numeric.hpp"> + <Filter>src\mpt\base... [truncated message content] |
From: <sv...@op...> - 2024-03-15 10:19:59
|
Author: manx Date: Fri Mar 15 11:19:48 2024 New Revision: 20330 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20330 Log: [Ref] mpt/base/numeric.hpp: Add mpt::saturate_align_up. Modified: trunk/OpenMPT/src/mpt/base/numeric.hpp Modified: trunk/OpenMPT/src/mpt/base/numeric.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/numeric.hpp Fri Mar 15 08:50:11 2024 (r20329) +++ trunk/OpenMPT/src/mpt/base/numeric.hpp Fri Mar 15 11:19:48 2024 (r20330) @@ -80,6 +80,16 @@ return (x / target) * target; } +// rounds x up to multiples of target or saturation of T +template <typename T> +constexpr T saturate_align_up(T x, T target) { + if (x > (std::numeric_limits<T>::max() - (target - 1))) { + return std::numeric_limits<T>::max(); + } + T result = ((x + (target - 1)) / target) * target; + return result; +} + // Returns sign of a number (-1 for negative numbers, 1 for positive numbers, 0 for 0) template <class T> constexpr int signum(T value) { |
From: <sv...@op...> - 2024-03-15 07:50:27
|
Author: manx Date: Fri Mar 15 08:50:11 2024 New Revision: 20329 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20329 Log: Merged revision(s) 20328 from trunk/OpenMPT: [Fix] Compile fix. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp Modified: branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp Fri Mar 15 08:49:40 2024 (r20328) +++ branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp Fri Mar 15 08:50:11 2024 (r20329) @@ -44,6 +44,12 @@ +// change to show warnings for functions which trigger pre-caching the whole file for unseekable streams +//#define MPT_FILEREADER_DEPRECATED [[deprecated]] +#define MPT_FILEREADER_DEPRECATED + + + // TFileCursor members begin template <typename TFileCursor> @@ -100,13 +106,13 @@ // Returns size of the mapped file in bytes. template <typename TFileCursor> -MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type GetLength(const TFileCursor & f) { +MPT_FILEREADER_DEPRECATED typename TFileCursor::pos_type GetLength(const TFileCursor & f) { return f.GetLength(); } // Return byte count between cursor position and end of file, i.e. how many bytes can still be read. template <typename TFileCursor> -MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type BytesLeft(const TFileCursor & f) { +MPT_FILEREADER_DEPRECATED typename TFileCursor::pos_type BytesLeft(const TFileCursor & f) { return f.BytesLeft(); } |
From: <sv...@op...> - 2024-03-15 07:50:01
|
Author: manx Date: Fri Mar 15 08:49:40 2024 New Revision: 20328 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20328 Log: [Fix] Compile fix. Modified: trunk/OpenMPT/src/mpt/io_read/filereader.hpp Modified: trunk/OpenMPT/src/mpt/io_read/filereader.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/io_read/filereader.hpp Fri Mar 15 08:39:42 2024 (r20327) +++ trunk/OpenMPT/src/mpt/io_read/filereader.hpp Fri Mar 15 08:49:40 2024 (r20328) @@ -45,6 +45,12 @@ +// change to show warnings for functions which trigger pre-caching the whole file for unseekable streams +//#define MPT_FILEREADER_DEPRECATED [[deprecated]] +#define MPT_FILEREADER_DEPRECATED + + + // TFileCursor members begin template <typename TFileCursor> @@ -101,13 +107,13 @@ // Returns size of the mapped file in bytes. template <typename TFileCursor> -MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type GetLength(const TFileCursor & f) { +MPT_FILEREADER_DEPRECATED typename TFileCursor::pos_type GetLength(const TFileCursor & f) { return f.GetLength(); } // Return byte count between cursor position and end of file, i.e. how many bytes can still be read. template <typename TFileCursor> -MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type BytesLeft(const TFileCursor & f) { +MPT_FILEREADER_DEPRECATED typename TFileCursor::pos_type BytesLeft(const TFileCursor & f) { return f.BytesLeft(); } |
From: <sv...@op...> - 2024-03-15 07:39:57
|
Author: manx Date: Fri Mar 15 08:39:42 2024 New Revision: 20327 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20327 Log: Merged revision(s) 20326 from trunk/OpenMPT: [Ref] mpt/io_read/filereader.hpp: Enable GetLength() and BytesLeft() FileReader free functions. These should never have been made completely unavailable. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp Modified: branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp Fri Mar 15 08:39:13 2024 (r20326) +++ branches/OpenMPT-1.31/src/mpt/io_read/filereader.hpp Fri Mar 15 08:39:42 2024 (r20327) @@ -98,21 +98,17 @@ return f.HasFastGetLength(); } -#if 0 // Returns size of the mapped file in bytes. template <typename TFileCursor> MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type GetLength(const TFileCursor & f) { return f.GetLength(); } -#endif -#if 0 // Return byte count between cursor position and end of file, i.e. how many bytes can still be read. template <typename TFileCursor> MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type BytesLeft(const TFileCursor & f) { return f.BytesLeft(); } -#endif template <typename TFileCursor> bool EndOfFile(const TFileCursor & f) { |
From: <sv...@op...> - 2024-03-15 07:39:27
|
Author: manx Date: Fri Mar 15 08:39:13 2024 New Revision: 20326 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20326 Log: [Ref] mpt/io_read/filereader.hpp: Enable GetLength() and BytesLeft() FileReader free functions. These should never have been made completely unavailable. Modified: trunk/OpenMPT/src/mpt/io_read/filereader.hpp Modified: trunk/OpenMPT/src/mpt/io_read/filereader.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/io_read/filereader.hpp Thu Mar 14 20:37:51 2024 (r20325) +++ trunk/OpenMPT/src/mpt/io_read/filereader.hpp Fri Mar 15 08:39:13 2024 (r20326) @@ -99,21 +99,17 @@ return f.HasFastGetLength(); } -#if 0 // Returns size of the mapped file in bytes. template <typename TFileCursor> MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type GetLength(const TFileCursor & f) { return f.GetLength(); } -#endif -#if 0 // Return byte count between cursor position and end of file, i.e. how many bytes can still be read. template <typename TFileCursor> MPT_FILECURSOR_DEPRECATED typename TFileCursor::pos_type BytesLeft(const TFileCursor & f) { return f.BytesLeft(); } -#endif template <typename TFileCursor> bool EndOfFile(const TFileCursor & f) { |
From: <sv...@op...> - 2024-03-14 19:38:07
|
Author: sagamusix Date: Thu Mar 14 20:37:51 2024 New Revision: 20325 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20325 Log: Merged revision(s) 20322 from trunk/OpenMPT: [Fix] DMF: Avoid pretending that we want to read 4GB worth of data. This can cause a crash when libopenmpt is used with unseekable streams, in particular in 32-bit builds. Directly request FileReader::BytesLeft() bytes to be read, which we normally avoid because it causes the whole file to be pre-cached - which is what we end up doing here anyway (https://www.un4seen.com/forum/?topic=15448.msg142533#msg142533). ........ Modified: branches/OpenMPT-1.29/ (props changed) branches/OpenMPT-1.29/soundlib/Load_dmf.cpp Modified: branches/OpenMPT-1.29/soundlib/Load_dmf.cpp ============================================================================== --- branches/OpenMPT-1.29/soundlib/Load_dmf.cpp Thu Mar 14 20:37:30 2024 (r20324) +++ branches/OpenMPT-1.29/soundlib/Load_dmf.cpp Thu Mar 14 20:37:51 2024 (r20325) @@ -943,7 +943,7 @@ // I don't know when exactly this stopped, but I have no version 5-7 files to check (and no X-Tracker version that writes those versions). // Since this is practically always the last chunk in the file, the following code is safe for those versions, though. else if(fileHeader.version < 8 && chunkHeader.GetID() == DMFChunk::idSMPD) - chunkLength = uint32_max; + chunkLength = mpt::saturate_cast<uint32>(file.BytesLeft()); chunks.emplace_back(chunkHeader, file.ReadChunk(chunkLength)); file.Skip(chunkSkip); } |
From: <sv...@op...> - 2024-03-14 19:37:46
|
Author: sagamusix Date: Thu Mar 14 20:37:30 2024 New Revision: 20324 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20324 Log: Merged revision(s) 20322 from trunk/OpenMPT: [Fix] DMF: Avoid pretending that we want to read 4GB worth of data. This can cause a crash when libopenmpt is used with unseekable streams, in particular in 32-bit builds. Directly request FileReader::BytesLeft() bytes to be read, which we normally avoid because it causes the whole file to be pre-cached - which is what we end up doing here anyway (https://www.un4seen.com/forum/?topic=15448.msg142533#msg142533). ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/soundlib/Load_dmf.cpp Modified: branches/OpenMPT-1.30/soundlib/Load_dmf.cpp ============================================================================== --- branches/OpenMPT-1.30/soundlib/Load_dmf.cpp Thu Mar 14 20:37:14 2024 (r20323) +++ branches/OpenMPT-1.30/soundlib/Load_dmf.cpp Thu Mar 14 20:37:30 2024 (r20324) @@ -937,7 +937,7 @@ // I don't know when exactly this stopped, but I have no version 5-7 files to check (and no X-Tracker version that writes those versions). // Since this is practically always the last chunk in the file, the following code is safe for those versions, though. else if(fileHeader.version < 8 && chunkHeader.GetID() == DMFChunk::idSMPD) - chunkLength = uint32_max; + chunkLength = mpt::saturate_cast<uint32>(file.BytesLeft()); chunks.chunks.push_back(ChunkReader::Item<DMFChunk>{chunkHeader, file.ReadChunk(chunkLength)}); file.Skip(chunkSkip); } |
From: <sv...@op...> - 2024-03-14 19:37:30
|
Author: sagamusix Date: Thu Mar 14 20:37:14 2024 New Revision: 20323 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20323 Log: Merged revision(s) 20322 from trunk/OpenMPT: [Fix] DMF: Avoid pretending that we want to read 4GB worth of data. This can cause a crash when libopenmpt is used with unseekable streams, in particular in 32-bit builds. Directly request FileReader::BytesLeft() bytes to be read, which we normally avoid because it causes the whole file to be pre-cached - which is what we end up doing here anyway (https://www.un4seen.com/forum/?topic=15448.msg142533#msg142533). ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/soundlib/Load_dmf.cpp Modified: branches/OpenMPT-1.31/soundlib/Load_dmf.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/Load_dmf.cpp Thu Mar 14 20:36:46 2024 (r20322) +++ branches/OpenMPT-1.31/soundlib/Load_dmf.cpp Thu Mar 14 20:37:14 2024 (r20323) @@ -934,7 +934,7 @@ // I don't know when exactly this stopped, but I have no version 5-7 files to check (and no X-Tracker version that writes those versions). // Since this is practically always the last chunk in the file, the following code is safe for those versions, though. else if(fileHeader.version < 8 && chunkHeader.GetID() == DMFChunk::idSMPD) - chunkLength = uint32_max; + chunkLength = mpt::saturate_cast<uint32>(file.BytesLeft()); chunks.chunks.push_back(ChunkReader::Item<DMFChunk>{chunkHeader, file.ReadChunk(chunkLength)}); file.Skip(chunkSkip); } |
From: <sv...@op...> - 2024-03-14 19:37:06
|
Author: sagamusix Date: Thu Mar 14 20:36:46 2024 New Revision: 20322 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20322 Log: [Fix] DMF: Avoid pretending that we want to read 4GB worth of data. This can cause a crash when libopenmpt is used with unseekable streams, in particular in 32-bit builds. Directly request FileReader::BytesLeft() bytes to be read, which we normally avoid because it causes the whole file to be pre-cached - which is what we end up doing here anyway (https://www.un4seen.com/forum/?topic=15448.msg142533#msg142533). Modified: trunk/OpenMPT/soundlib/Load_dmf.cpp Modified: trunk/OpenMPT/soundlib/Load_dmf.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_dmf.cpp Thu Mar 14 08:06:18 2024 (r20321) +++ trunk/OpenMPT/soundlib/Load_dmf.cpp Thu Mar 14 20:36:46 2024 (r20322) @@ -934,7 +934,7 @@ // I don't know when exactly this stopped, but I have no version 5-7 files to check (and no X-Tracker version that writes those versions). // Since this is practically always the last chunk in the file, the following code is safe for those versions, though. else if(fileHeader.version < 8 && chunkHeader.GetID() == DMFChunk::idSMPD) - chunkLength = uint32_max; + chunkLength = mpt::saturate_cast<uint32>(file.BytesLeft()); chunks.chunks.push_back(ChunkReader::Item<DMFChunk>{chunkHeader, file.ReadChunk(chunkLength)}); file.Skip(chunkSkip); } |
From: <sv...@op...> - 2024-03-14 07:06:38
|
Author: manx Date: Thu Mar 14 08:06:18 2024 New Revision: 20321 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20321 Log: Merged revision(s) 20318 from trunk/OpenMPT: [Fix] r20253 was incomplete, now XMPlay received some garbage subtune information because only one subtune info was populated. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/libopenmpt/ (props changed) branches/OpenMPT-1.30/libopenmpt/xmp-openmpt.cpp (props changed) |
From: <sv...@op...> - 2024-03-13 18:07:41
|
Author: sagamusix Date: Wed Mar 13 19:07:24 2024 New Revision: 20320 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20320 Log: Merged revision(s) 20318 from trunk/OpenMPT: [Fix] r20253 was incomplete, now XMPlay received some garbage subtune information because only one subtune info was populated. ........ Modified: branches/OpenMPT-1.30/libopenmpt/xmp-openmpt.cpp (contents, props changed) Modified: branches/OpenMPT-1.30/libopenmpt/xmp-openmpt.cpp ============================================================================== --- branches/OpenMPT-1.30/libopenmpt/xmp-openmpt.cpp Wed Mar 13 19:05:06 2024 (r20319) +++ branches/OpenMPT-1.30/libopenmpt/xmp-openmpt.cpp Wed Mar 13 19:07:24 2024 (r20320) @@ -741,9 +741,6 @@ if ( subsong >= 0 && static_cast<size_t>( subsong ) < subsong_names.size() ) { first_subsong += subsong; last_subsong = first_subsong + 1; - } else - { - last_subsong = first_subsong + 1; } for ( auto subsong_name = first_subsong; subsong_name != last_subsong; subsong_name++ ) { |
From: <sv...@op...> - 2024-03-13 18:05:22
|
Author: sagamusix Date: Wed Mar 13 19:05:06 2024 New Revision: 20319 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20319 Log: Merged revision(s) 20318 from trunk/OpenMPT: [Fix] r20253 was incomplete, now XMPlay received some garbage subtune information because only one subtune info was populated. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Modified: branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp ============================================================================== --- branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Wed Mar 13 19:04:43 2024 (r20318) +++ branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Wed Mar 13 19:05:06 2024 (r20319) @@ -707,9 +707,6 @@ if ( subsong >= 0 && static_cast<size_t>( subsong ) < subsong_names.size() ) { first_subsong += subsong; last_subsong = first_subsong + 1; - } else - { - last_subsong = first_subsong + 1; } for ( auto subsong_name = first_subsong; subsong_name != last_subsong; subsong_name++ ) { |
From: <sv...@op...> - 2024-03-13 18:04:54
|
Author: sagamusix Date: Wed Mar 13 19:04:43 2024 New Revision: 20318 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20318 Log: [Fix] r20253 was incomplete, now XMPlay received some garbage subtune information because only one subtune info was populated. Modified: trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Modified: trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp ============================================================================== --- trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Wed Mar 13 12:22:17 2024 (r20317) +++ trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Wed Mar 13 19:04:43 2024 (r20318) @@ -707,9 +707,6 @@ if ( subsong >= 0 && static_cast<size_t>( subsong ) < subsong_names.size() ) { first_subsong += subsong; last_subsong = first_subsong + 1; - } else - { - last_subsong = first_subsong + 1; } for ( auto subsong_name = first_subsong; subsong_name != last_subsong; subsong_name++ ) { |
From: <sv...@op...> - 2024-03-13 11:22:28
|
Author: manx Date: Wed Mar 13 12:22:17 2024 New Revision: 20317 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20317 Log: Merged revision(s) 20315 from branches/OpenMPT-1.30: [Fix] build: CI: GitHub: macOS: Work-around macos-12 Homebrew breakage. ........ Modified: branches/OpenMPT-1.28/ (props changed) branches/OpenMPT-1.28/.github/workflows/macOS-12-Makefile.yml Modified: branches/OpenMPT-1.28/.github/workflows/macOS-12-Makefile.yml ============================================================================== --- branches/OpenMPT-1.28/.github/workflows/macOS-12-Makefile.yml Wed Mar 13 12:21:55 2024 (r20316) +++ branches/OpenMPT-1.28/.github/workflows/macOS-12-Makefile.yml Wed Mar 13 12:22:17 2024 (r20317) @@ -15,6 +15,8 @@ steps: - uses: actions/checkout@v4 + - name: fixup GitHub Homebrew xcbeautify breakage + run: brew pin xcbeautify - name: fixup GitHub Homebrew node breakage run: brew unlink node@18 && brew unlink node && brew link --overwrite node - name: fixup GitHub Homebrew python breakage |
From: <sv...@op...> - 2024-03-13 11:22:06
|
Author: manx Date: Wed Mar 13 12:21:55 2024 New Revision: 20316 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20316 Log: Merged revision(s) 20315 from branches/OpenMPT-1.30: [Fix] build: CI: GitHub: macOS: Work-around macos-12 Homebrew breakage. ........ Modified: branches/OpenMPT-1.29/ (props changed) branches/OpenMPT-1.29/.github/workflows/macOS-12-Makefile.yml Modified: branches/OpenMPT-1.29/.github/workflows/macOS-12-Makefile.yml ============================================================================== --- branches/OpenMPT-1.29/.github/workflows/macOS-12-Makefile.yml Wed Mar 13 12:21:32 2024 (r20315) +++ branches/OpenMPT-1.29/.github/workflows/macOS-12-Makefile.yml Wed Mar 13 12:21:55 2024 (r20316) @@ -15,6 +15,8 @@ steps: - uses: actions/checkout@v4 + - name: fixup GitHub Homebrew xcbeautify breakage + run: brew pin xcbeautify - name: fixup GitHub Homebrew node breakage run: brew unlink node@18 && brew unlink node && brew link --overwrite node - name: fixup GitHub Homebrew python breakage |
From: <sv...@op...> - 2024-03-13 11:21:44
|
Author: manx Date: Wed Mar 13 12:21:32 2024 New Revision: 20315 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20315 Log: [Fix] build: CI: GitHub: macOS: Work-around macos-12 Homebrew breakage. Modified: branches/OpenMPT-1.30/.github/workflows/macOS-12-Makefile.yml Modified: branches/OpenMPT-1.30/.github/workflows/macOS-12-Makefile.yml ============================================================================== --- branches/OpenMPT-1.30/.github/workflows/macOS-12-Makefile.yml Wed Mar 13 12:20:52 2024 (r20314) +++ branches/OpenMPT-1.30/.github/workflows/macOS-12-Makefile.yml Wed Mar 13 12:21:32 2024 (r20315) @@ -15,6 +15,8 @@ steps: - uses: actions/checkout@v4 + - name: fixup GitHub Homebrew xcbeautify breakage + run: brew pin xcbeautify - name: fixup GitHub Homebrew node breakage run: brew unlink node@18 && brew unlink node && brew link --overwrite node - name: fixup GitHub Homebrew python breakage |
From: <sv...@op...> - 2024-03-13 11:21:08
|
Author: manx Date: Wed Mar 13 12:20:52 2024 New Revision: 20314 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20314 Log: Merged revision(s) 20313 from trunk/OpenMPT: [Fix] build: CI: GitHub: macOS: Work-around macos-12 Homebrew breakage. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Modified: branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Wed Mar 13 11:14:45 2024 (r20313) +++ branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Wed Mar 13 12:20:52 2024 (r20314) @@ -41,6 +41,9 @@ runs-on: ${{matrix.host}} steps: - uses: actions/checkout@v4 + - name: fixup GitHub Homebrew xcbeautify breakage + if: ${{ matrix.host == 'macos-12' }} + run: brew pin xcbeautify - name: fixup GitHub Homebrew node breakage if: ${{ matrix.host == 'macos-12' }} run: brew unlink node@18 && brew unlink node && brew link --overwrite node |
From: <sv...@op...> - 2024-03-13 10:15:02
|
Author: manx Date: Wed Mar 13 11:14:45 2024 New Revision: 20313 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20313 Log: [Fix] build: CI: GitHub: macOS: Work-around macos-12 Homebrew breakage. Modified: trunk/OpenMPT/.github/workflows/macOS-Makefile.yml Modified: trunk/OpenMPT/.github/workflows/macOS-Makefile.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/macOS-Makefile.yml Tue Mar 12 20:14:31 2024 (r20312) +++ trunk/OpenMPT/.github/workflows/macOS-Makefile.yml Wed Mar 13 11:14:45 2024 (r20313) @@ -43,6 +43,9 @@ runs-on: ${{matrix.host}} steps: - uses: actions/checkout@v4 + - name: fixup GitHub Homebrew xcbeautify breakage + if: ${{ matrix.host == 'macos-12' }} + run: brew pin xcbeautify - name: fixup GitHub Homebrew node breakage if: ${{ matrix.host == 'macos-12' }} run: brew unlink node@18 && brew unlink node && brew link --overwrite node |
From: <sv...@op...> - 2024-03-12 19:14:47
|
Author: sagamusix Date: Tue Mar 12 20:14:31 2024 New Revision: 20312 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20312 Log: Merged revision(s) 20311 from trunk/OpenMPT: [Imp] Sample tab: Avoid holding audio lock while updating UI after pasting a sample. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/mptrack/View_smp.cpp Modified: branches/OpenMPT-1.31/mptrack/View_smp.cpp ============================================================================== --- branches/OpenMPT-1.31/mptrack/View_smp.cpp Tue Mar 12 20:14:12 2024 (r20311) +++ branches/OpenMPT-1.31/mptrack/View_smp.cpp Tue Mar 12 20:14:31 2024 (r20312) @@ -2713,6 +2713,7 @@ int16 *pNewSample = static_cast<int16 *>(ModSample::AllocateSample(newLength, 2u * newNumChannels)); if(pNewSample == nullptr) { + cs.Leave(); ErrorBox(IDS_ERR_OUTOFMEMORY, this); ok = false; } else @@ -2792,6 +2793,7 @@ { SetCurSel(selBegin, selEnd); sample.PrecomputeLoops(sndFile, true); + cs.Leave(); SetModified(SampleHint().Info().Data().Names(), true, false); if(pasteMode == PasteMode::Replace) { |
From: <sv...@op...> - 2024-03-12 19:14:28
|
Author: sagamusix Date: Tue Mar 12 20:14:12 2024 New Revision: 20311 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20311 Log: [Imp] Sample tab: Avoid holding audio lock while updating UI after pasting a sample. Modified: trunk/OpenMPT/mptrack/View_smp.cpp Modified: trunk/OpenMPT/mptrack/View_smp.cpp ============================================================================== --- trunk/OpenMPT/mptrack/View_smp.cpp Sat Mar 9 12:59:35 2024 (r20310) +++ trunk/OpenMPT/mptrack/View_smp.cpp Tue Mar 12 20:14:12 2024 (r20311) @@ -2716,6 +2716,7 @@ int16 *pNewSample = static_cast<int16 *>(ModSample::AllocateSample(newLength, 2u * newNumChannels)); if(pNewSample == nullptr) { + cs.Leave(); ErrorBox(IDS_ERR_OUTOFMEMORY, this); ok = false; } else @@ -2795,6 +2796,7 @@ { SetCurSel(selBegin, selEnd); sample.PrecomputeLoops(sndFile, true); + cs.Leave(); SetModified(SampleHint().Info().Data().Names(), true, false); if(pasteMode == PasteMode::Replace) { |
From: <sv...@op...> - 2024-03-09 11:59:54
|
Author: sagamusix Date: Sat Mar 9 12:59:35 2024 New Revision: 20310 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20310 Log: [Fix] Fix compilation. Modified: branches/OpenMPT-1.28/soundlib/Load_it.cpp Modified: branches/OpenMPT-1.28/soundlib/Load_it.cpp ============================================================================== --- branches/OpenMPT-1.28/soundlib/Load_it.cpp Sat Mar 9 12:55:02 2024 (r20309) +++ branches/OpenMPT-1.28/soundlib/Load_it.cpp Sat Mar 9 12:59:35 2024 (r20310) @@ -1248,7 +1248,7 @@ // Hence to be sure, we check that both values are below 2.14. // Note that all ModPlug Tracker alpha versions do not support filters yet. Earlier alphas identify as cwtv=2.02, cmwt=2.00, but later alpha versions identify as IT 2.14. // Apart from that, there's an unknown XM conversion tool declaring a lower comaptible version, which naturally also does not support filters, so it's okay that it is caught here. - if((fileHeader.cwtv < 0x0214 && fileHeader.cmwt < 0x0214) || (m_dwLastSavedWithVersion && m_dwLastSavedWithVersion <= MPT_V("1.00.00.A6"))) + if((fileHeader.cwtv < 0x0214 && fileHeader.cmwt < 0x0214) || (m_dwLastSavedWithVersion && m_dwLastSavedWithVersion <= MAKE_VERSION_NUMERIC(1, 00, 00, A6))) { m_MidiCfg.ClearZxxMacros(); } |