aboutsummaryrefslogtreecommitdiff
path: root/src/db
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-01-17 00:56:57 +0100
committerMax Kellermann <max@duempel.org>2013-01-18 15:34:01 +0100
commite5039c478aa93e3e107ee9031a3cf27a6c203fea (patch)
tree5d9fecc644b915fe02634911d65c29123e03c1b8 /src/db
parent890151450663abd581cab56e853e8e713d822851 (diff)
Path: new class "Path" wraps filesystem path strings
Diffstat (limited to 'src/db')
-rw-r--r--src/db/SimpleDatabasePlugin.cxx5
-rw-r--r--src/db/SimpleDatabasePlugin.hxx7
2 files changed, 8 insertions, 4 deletions
diff --git a/src/db/SimpleDatabasePlugin.cxx b/src/db/SimpleDatabasePlugin.cxx
index 8eea81e3..b7c60d9d 100644
--- a/src/db/SimpleDatabasePlugin.cxx
+++ b/src/db/SimpleDatabasePlugin.cxx
@@ -68,7 +68,7 @@ SimpleDatabase::Configure(const struct config_param *param, GError **error_r)
return false;
}
- path = _path;
+ path = Path::FromUTF8(_path);
free(_path);
return true;
@@ -77,6 +77,7 @@ SimpleDatabase::Configure(const struct config_param *param, GError **error_r)
bool
SimpleDatabase::Check(GError **error_r) const
{
+ assert(!path.IsNull());
assert(!path.empty());
/* Check if the file exists */
@@ -153,7 +154,7 @@ SimpleDatabase::Load(GError **error_r)
assert(!path.empty());
assert(root != NULL);
- TextFile file(path.c_str());
+ TextFile file(path);
if (file.HasFailed()) {
g_set_error(error_r, simple_db_quark(), errno,
"Failed to open database file \"%s\": %s",
diff --git a/src/db/SimpleDatabasePlugin.hxx b/src/db/SimpleDatabasePlugin.hxx
index 789dcdae..3549aa98 100644
--- a/src/db/SimpleDatabasePlugin.hxx
+++ b/src/db/SimpleDatabasePlugin.hxx
@@ -21,17 +21,17 @@
#define MPD_SIMPLE_DATABASE_PLUGIN_HXX
#include "DatabasePlugin.hxx"
+#include "Path.hxx"
#include "gcc.h"
#include <cassert>
-#include <string>
#include <time.h>
struct Directory;
class SimpleDatabase : public Database {
- std::string path;
+ Path path;
Directory *root;
@@ -41,6 +41,9 @@ class SimpleDatabase : public Database {
unsigned borrowed_song_count;
#endif
+ SimpleDatabase()
+ :path(Path::Null()) {}
+
public:
gcc_pure
Directory *GetRoot() {