*: use BufferedOutputStream::Fmt()

This commit is contained in:
Max Kellermann
2022-07-13 12:54:58 +02:00
parent 9a30286289
commit b52b0ac85a
11 changed files with 64 additions and 58 deletions

View File

@@ -49,16 +49,17 @@ static constexpr unsigned OLDEST_DB_FORMAT = 1;
void
db_save_internal(BufferedOutputStream &os, const Directory &music_root)
{
os.Format("%s\n", DIRECTORY_INFO_BEGIN);
os.Format(DB_FORMAT_PREFIX "%u\n", DB_FORMAT);
os.Format("%s%s\n", DIRECTORY_MPD_VERSION, VERSION);
os.Format("%s%s\n", DIRECTORY_FS_CHARSET, GetFSCharset());
os.Write(DIRECTORY_INFO_BEGIN "\n");
os.Fmt(FMT_STRING(DB_FORMAT_PREFIX "{}\n"), DB_FORMAT);
os.Write(DIRECTORY_MPD_VERSION VERSION "\n");
os.Fmt(FMT_STRING(DIRECTORY_FS_CHARSET "{}\n"), GetFSCharset());
for (unsigned i = 0; i < TAG_NUM_OF_ITEM_TYPES; ++i)
if (IsTagEnabled(i))
os.Format(DB_TAG_PREFIX "%s\n", tag_item_names[i]);
os.Fmt(FMT_STRING(DB_TAG_PREFIX "{}\n"),
tag_item_names[i]);
os.Format("%s\n", DIRECTORY_INFO_END);
os.Write(DIRECTORY_INFO_END "\n");
directory_save(os, music_root);
}

View File

@@ -78,20 +78,20 @@ directory_save(BufferedOutputStream &os, const Directory &directory)
if (!directory.IsRoot()) {
const char *type = DeviceToTypeString(directory.device);
if (type != nullptr)
os.Format(DIRECTORY_TYPE "%s\n", type);
os.Fmt(FMT_STRING(DIRECTORY_TYPE "{}\n"), type);
if (!IsNegative(directory.mtime))
os.Format(DIRECTORY_MTIME "%lu\n",
(unsigned long)std::chrono::system_clock::to_time_t(directory.mtime));
os.Fmt(FMT_STRING(DIRECTORY_MTIME "{}\n"),
std::chrono::system_clock::to_time_t(directory.mtime));
os.Format("%s%s\n", DIRECTORY_BEGIN, directory.GetPath());
os.Fmt(FMT_STRING(DIRECTORY_BEGIN "{}\n"), directory.GetPath());
}
for (const auto &child : directory.children) {
if (child.IsMount())
continue;
os.Format(DIRECTORY_DIR "%s\n", child.GetName());
os.Fmt(FMT_STRING(DIRECTORY_DIR "{}\n"), child.GetName());
directory_save(os, child);
}
@@ -101,7 +101,7 @@ directory_save(BufferedOutputStream &os, const Directory &directory)
playlist_vector_save(os, directory.playlists);
if (!directory.IsRoot())
os.Format(DIRECTORY_END "%s\n", directory.GetPath());
os.Fmt(FMT_STRING(DIRECTORY_END "{}\n"), directory.GetPath());
}
static bool