[vlc-devel] [medialibrary PATCH] Fix compilation error
Zhao Zhili
quinkblack at foxmail.com
Wed Dec 26 04:12:45 CET 2018
Until C++17, a function could not return a tuple using
list-initialization.
g++ (Debian 6.3.0-18) has no problem with -std=c++11.
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) failed with:
../src/filesystem/common/CommonDevice.cpp:85:30: error: converting to ‘std::tuple<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ from initializer list would use explicit constructor ‘constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&) [with _U1 = bool; _U2 = const std::__cxx11::basic_string<char>&; <template-parameter-2-3> = void; _T1 = bool; _T2 = std::__cxx11::basic_string<char>]’
return { true, m };
---
Feel free to simplify the commit message.
src/filesystem/common/CommonDevice.cpp | 4 ++--
src/metadata_services/MetadataParser.cpp | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/filesystem/common/CommonDevice.cpp b/src/filesystem/common/CommonDevice.cpp
index b1b3859..b37a557 100644
--- a/src/filesystem/common/CommonDevice.cpp
+++ b/src/filesystem/common/CommonDevice.cpp
@@ -82,9 +82,9 @@ CommonDevice::matchesMountpoint( const std::string& mrl ) const
for ( const auto& m : m_mountpoints )
{
if ( mrl.find( m ) == 0 )
- return { true, m };
+ return std::make_tuple( true, m );
}
- return { false, "" };
+ return std::make_tuple( false, "" );
}
std::string CommonDevice::relativeMrl( const std::string& absoluteMrl ) const
diff --git a/src/metadata_services/MetadataParser.cpp b/src/metadata_services/MetadataParser.cpp
index 43f6365..def2a3c 100644
--- a/src/metadata_services/MetadataParser.cpp
+++ b/src/metadata_services/MetadataParser.cpp
@@ -517,11 +517,11 @@ std::tuple<bool, bool> MetadataAnalyzer::refreshFile( IItem& item ) const
{
LOG_WARN( "Failed to find playlist associated to modified playlist file ",
item.mrl() );
- return { false, false };
+ return std::make_tuple( false, false );
}
LOG_INFO( "Reloading playlist ", playlist->name(), " on ", item.mrl() );
Playlist::destroy( m_ml, playlist->id() );
- return { true, true };
+ return std::make_tuple( true, true );
}
case IFile::Type::Part:
case IFile::Type::Soundtrack:
@@ -533,7 +533,7 @@ std::tuple<bool, bool> MetadataAnalyzer::refreshFile( IItem& item ) const
LOG_WARN( "Refreshing of file type ",
static_cast<std::underlying_type<IFile::Type>::type>( file->type() ),
" is unsupported" );
- return { false, false };
+ return std::make_tuple( false, false );
}
std::tuple<bool, bool> MetadataAnalyzer::refreshMedia( IItem& item ) const
--
2.9.5
More information about the vlc-devel
mailing list