diff options
author | Max Kellermann <max@duempel.org> | 2014-07-30 20:58:14 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-07-30 22:17:01 +0200 |
commit | 9fb351a139a56fc7b1ece549894f8fc31fa887cd (patch) | |
tree | 7c9ce42a1262af587f1b9fede2b24ff39cef93fc /src/queue/QueueSave.cxx | |
parent | 0d0ccacdf3e154b1cc27a0840fce80ac13f9641c (diff) | |
download | mpd-9fb351a139a56fc7b1ece549894f8fc31fa887cd.tar.gz mpd-9fb351a139a56fc7b1ece549894f8fc31fa887cd.tar.xz mpd-9fb351a139a56fc7b1ece549894f8fc31fa887cd.zip |
*Save, *State: use the OutputStream API instead of FILE*
Diffstat (limited to 'src/queue/QueueSave.cxx')
-rw-r--r-- | src/queue/QueueSave.cxx | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/queue/QueueSave.cxx b/src/queue/QueueSave.cxx index 5f47a0fac..eca906421 100644 --- a/src/queue/QueueSave.cxx +++ b/src/queue/QueueSave.cxx @@ -26,6 +26,7 @@ #include "SongLoader.hxx" #include "playlist/PlaylistSong.hxx" #include "fs/TextFile.hxx" +#include "fs/output/BufferedOutputStream.hxx" #include "util/StringUtil.hxx" #include "util/Error.hxx" #include "fs/Traits.hxx" @@ -36,40 +37,41 @@ #define PRIO_LABEL "Prio: " static void -queue_save_database_song(FILE *fp, int idx, const DetachedSong &song) +queue_save_database_song(BufferedOutputStream &os, + int idx, const DetachedSong &song) { - fprintf(fp, "%i:%s\n", idx, song.GetURI()); + os.Format("%i:%s\n", idx, song.GetURI()); } static void -queue_save_full_song(FILE *fp, const DetachedSong &song) +queue_save_full_song(BufferedOutputStream &os, const DetachedSong &song) { - song_save(fp, song); + song_save(os, song); } static void -queue_save_song(FILE *fp, int idx, const DetachedSong &song) +queue_save_song(BufferedOutputStream &os, int idx, const DetachedSong &song) { if (song.IsInDatabase() && song.GetStartMS() == 0 && song.GetEndMS() == 0) /* use the brief format (just the URI) for "full" database songs */ - queue_save_database_song(fp, idx, song); + queue_save_database_song(os, idx, song); else /* use the long format (URI, range, tags) for the rest, so all metadata survives a MPD restart */ - queue_save_full_song(fp, song); + queue_save_full_song(os, song); } void -queue_save(FILE *fp, const Queue &queue) +queue_save(BufferedOutputStream &os, const Queue &queue) { for (unsigned i = 0; i < queue.GetLength(); i++) { uint8_t prio = queue.GetPriorityAtPosition(i); if (prio != 0) - fprintf(fp, PRIO_LABEL "%u\n", prio); + os.Format(PRIO_LABEL "%u\n", prio); - queue_save_song(fp, i, queue.Get(i)); + queue_save_song(os, i, queue.Get(i)); } } |