]> git.tdb.fi Git - libs/core.git/blobdiff - source/fs/osx/dir_location.cpp
Add move semantics to Variant
[libs/core.git] / source / fs / osx / dir_location.cpp
index 7ce89f7a33de31bdf83e76d31c3da513811ca437..13aa3d2d500fd167153f16b4811f575004e517af 100644 (file)
@@ -1,3 +1,6 @@
+#include <msp/core/application.h>
+#include <msp/core/environ.h>
+#include <msp/core/except.h>
 #include "dir.h"
 
 using namespace std;
@@ -15,15 +18,19 @@ Path get_home_dir()
        if(len)
                return string(buf, len);
 
-       const char *home = getenv("HOME");
-       if(home)
+       string home = getenv("HOME");
+       if(!home.empty())
                return home;
 
        return ".";
 }
 
-Path get_user_data_dir(const string &appname)
+Path get_user_data_dir()
 {
+       const string &appname = Application::get_name();
+       if(appname.empty())
+               throw invalid_state("no application name");
+
        char buf[1024];
        unsigned len = get_application_support_dir(buf, sizeof(buf));
        if(len)