[vlc-commits] [Git][videolan/vlc][master] 3 commits: cxx_helpers: url: Mark constructors as explicit
Jean-Baptiste Kempf
gitlab at videolan.org
Wed May 19 20:35:20 UTC 2021
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
43687100 by Hugo Beauzée-Luyssen at 2021-05-19T20:22:32+00:00
cxx_helpers: url: Mark constructors as explicit
- - - - -
41bea794 by Hugo Beauzée-Luyssen at 2021-05-19T20:22:32+00:00
cxx_helpers: url: Fix leak on error
- - - - -
79b0d4b2 by Hugo Beauzée-Luyssen at 2021-05-19T20:22:32+00:00
cxx_helpers: url: Fix leak on move assignment
- - - - -
1 changed file:
- include/vlc_cxx_helpers.hpp
Changes:
=====================================
include/vlc_cxx_helpers.hpp
=====================================
@@ -407,7 +407,7 @@ public:
class invalid : public std::runtime_error
{
public:
- invalid( const char* url )
+ explicit invalid( const char* url )
: std::runtime_error( std::string{ "Invalid url: " } + url )
{
}
@@ -420,13 +420,16 @@ public:
psz_host = nullptr;
}
- url( const char* str )
+ explicit url( const char* str )
{
if ( vlc_UrlParse( this, str ) )
+ {
+ vlc_UrlClean( this );
throw invalid( str );
+ }
}
- url( const std::string& str )
+ explicit url( const std::string& str )
: url( str.c_str() )
{
}
@@ -449,6 +452,7 @@ public:
url& operator=( url&& u ) noexcept
{
+ vlc_UrlClean( this );
*(static_cast<vlc_url_t*>( this )) = u;
u.psz_buffer = nullptr;
u.psz_pathbuffer = nullptr;
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4ae85635e5998d1b386b834ad22586e807d60969...79b0d4b284e1eda210f8753d9d88c8c2dafd9e4d
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4ae85635e5998d1b386b834ad22586e807d60969...79b0d4b284e1eda210f8753d9d88c8c2dafd9e4d
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list