From 386235e2d28112acde428c6c51de8008ee4fba8b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 2 Apr 2020 19:34:22 +0200 Subject: [PATCH] db/simple/Mount: pass std::string_view to WalkMount() --- src/db/plugins/simple/Mount.cxx | 14 +++++++------- src/db/plugins/simple/Mount.hxx | 6 ++++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/db/plugins/simple/Mount.cxx b/src/db/plugins/simple/Mount.cxx index 5a7adff84..edf3a99cd 100644 --- a/src/db/plugins/simple/Mount.cxx +++ b/src/db/plugins/simple/Mount.cxx @@ -31,7 +31,7 @@ struct PrefixedLightDirectory : LightDirectory { std::string buffer; PrefixedLightDirectory(const LightDirectory &directory, - const char *base) + std::string_view base) :LightDirectory(directory), buffer(IsRoot() ? std::string(base) @@ -41,21 +41,21 @@ struct PrefixedLightDirectory : LightDirectory { }; static void -PrefixVisitDirectory(const char *base, const VisitDirectory &visit_directory, +PrefixVisitDirectory(std::string_view base, const VisitDirectory &visit_directory, const LightDirectory &directory) { visit_directory(PrefixedLightDirectory(directory, base)); } static void -PrefixVisitSong(const char *base, const VisitSong &visit_song, +PrefixVisitSong(std::string_view base, const VisitSong &visit_song, const LightSong &song) { visit_song(PrefixedLightSong(song, base)); } static void -PrefixVisitPlaylist(const char *base, const VisitPlaylist &visit_playlist, +PrefixVisitPlaylist(std::string_view base, const VisitPlaylist &visit_playlist, const PlaylistInfo &playlist, const LightDirectory &directory) { @@ -64,8 +64,8 @@ PrefixVisitPlaylist(const char *base, const VisitPlaylist &visit_playlist, } void -WalkMount(const char *base, const Database &db, - const char *uri, +WalkMount(std::string_view base, const Database &db, + std::string_view uri, const DatabaseSelection &old_selection, const VisitDirectory &visit_directory, const VisitSong &visit_song, const VisitPlaylist &visit_playlist) @@ -92,7 +92,7 @@ WalkMount(const char *base, const Database &db, SongFilter prefix_filter; - if (base != nullptr && selection.filter != nullptr) { + if (base.data() != nullptr && selection.filter != nullptr) { /* if the SongFilter contains a LOCATE_TAG_BASE_TYPE item, copy the SongFilter and drop the mount point from the filter, because the mounted database diff --git a/src/db/plugins/simple/Mount.hxx b/src/db/plugins/simple/Mount.hxx index e1e34d147..6763f8780 100644 --- a/src/db/plugins/simple/Mount.hxx +++ b/src/db/plugins/simple/Mount.hxx @@ -22,12 +22,14 @@ #include "db/Visitor.hxx" +#include + class Database; struct DatabaseSelection; void -WalkMount(const char *base, const Database &db, - const char *uri, +WalkMount(std::string_view base, const Database &db, + std::string_view uri, const DatabaseSelection &old_selection, const VisitDirectory &visit_directory, const VisitSong &visit_song, const VisitPlaylist &visit_playlist);