Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
f7622ca3
Commit
f7622ca3
authored
3 years ago
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
db/update/Walk: move PurgeDanglingFromPlaylists() to Playlist.cxx
parent
b82b5697
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
22 deletions
+22
-22
Playlist.cxx
src/db/update/Playlist.cxx
+22
-0
Walk.cxx
src/db/update/Walk.cxx
+0
-22
No files found.
src/db/update/Playlist.cxx
View file @
f7622ca3
...
...
@@ -126,3 +126,25 @@ UpdateWalk::UpdatePlaylistFile(Directory &directory,
return
true
;
}
void
UpdateWalk
::
PurgeDanglingFromPlaylists
(
Directory
&
directory
)
noexcept
{
/* recurse */
for
(
Directory
&
child
:
directory
.
children
)
PurgeDanglingFromPlaylists
(
child
);
if
(
!
directory
.
IsPlaylist
())
/* this check is only for virtual directories
representing a playlist file */
return
;
directory
.
ForEachSongSafe
([
&
](
Song
&
song
){
if
(
!
song
.
target
.
empty
()
&&
!
PathTraitsUTF8
::
IsAbsoluteOrHasScheme
(
song
.
target
.
c_str
())
&&
!
directory
.
TargetExists
(
song
.
target
))
{
editor
.
DeleteSong
(
directory
,
&
song
);
modified
=
true
;
}
});
}
This diff is collapsed.
Click to expand it.
src/db/update/Walk.cxx
View file @
f7622ca3
...
...
@@ -132,28 +132,6 @@ UpdateWalk::PurgeDeletedFromDirectory(Directory &directory) noexcept
}
}
void
UpdateWalk
::
PurgeDanglingFromPlaylists
(
Directory
&
directory
)
noexcept
{
/* recurse */
for
(
Directory
&
child
:
directory
.
children
)
PurgeDanglingFromPlaylists
(
child
);
if
(
!
directory
.
IsPlaylist
())
/* this check is only for virtual directories
representing a playlist file */
return
;
directory
.
ForEachSongSafe
([
&
](
Song
&
song
){
if
(
!
song
.
target
.
empty
()
&&
!
PathTraitsUTF8
::
IsAbsoluteOrHasScheme
(
song
.
target
.
c_str
())
&&
!
directory
.
TargetExists
(
song
.
target
))
{
editor
.
DeleteSong
(
directory
,
&
song
);
modified
=
true
;
}
});
}
#ifndef _WIN32
static
bool
update_directory_stat
(
Storage
&
storage
,
Directory
&
directory
)
noexcept
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment