StateFile: use file system API, log in UTF-8

This commit is contained in:
Denis Krjuchkov
2013-02-02 20:42:24 +06:00
parent 3b620112ca
commit 2bb751d9fa
3 changed files with 16 additions and 11 deletions

View File

@@ -34,8 +34,10 @@
#undef G_LOG_DOMAIN
#define G_LOG_DOMAIN "state_file"
StateFile::StateFile(Path &&_path, Partition &_partition, EventLoop &_loop)
:TimeoutMonitor(_loop), path(std::move(_path)), partition(_partition),
StateFile::StateFile(Path &&_path, const char *_path_utf8,
Partition &_partition, EventLoop &_loop)
:TimeoutMonitor(_loop), path(std::move(_path)), path_utf8(_path_utf8),
partition(_partition),
prev_volume_version(0), prev_output_version(0),
prev_playlist_version(0)
{
@@ -45,12 +47,12 @@ StateFile::StateFile(Path &&_path, Partition &_partition, EventLoop &_loop)
void
StateFile::Write()
{
g_debug("Saving state file %s", path.c_str());
g_debug("Saving state file %s", path_utf8.c_str());
FILE *fp = fopen(path.c_str(), "w");
FILE *fp = FOpen(path, FOpenMode::WriteText);
if (G_UNLIKELY(!fp)) {
g_warning("failed to create %s: %s",
path.c_str(), g_strerror(errno));
path_utf8.c_str(), g_strerror(errno));
return;
}
@@ -71,12 +73,12 @@ StateFile::Read()
{
bool success;
g_debug("Loading state file %s", path.c_str());
g_debug("Loading state file %s", path_utf8.c_str());
TextFile file(path);
if (file.HasFailed()) {
g_warning("failed to open %s: %s",
path.c_str(), g_strerror(errno));
path_utf8.c_str(), g_strerror(errno));
return;
}