From ff51b6a783fd66ea378ab769025fb34b2860ff2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 9 Feb 2016 17:06:47 +0100 Subject: DesktopUtilities: add GetUserHomeDirectory (bzr r4068.4.1) --- UnityCore/DesktopUtilities.cpp | 11 ++++++++--- UnityCore/DesktopUtilities.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'UnityCore') diff --git a/UnityCore/DesktopUtilities.cpp b/UnityCore/DesktopUtilities.cpp index a9a41c5e7..a0600d784 100644 --- a/UnityCore/DesktopUtilities.cpp +++ b/UnityCore/DesktopUtilities.cpp @@ -35,6 +35,11 @@ namespace DECLARE_LOGGER(logger, "unity.desktop.utilities"); } +std::string DesktopUtilities::GetUserHomeDirectory() +{ + return glib::gchar_to_string(g_get_home_dir()); +} + std::string DesktopUtilities::GetUserDataDirectory() { const char* user_dir = g_get_user_data_dir(); @@ -43,12 +48,12 @@ std::string DesktopUtilities::GetUserDataDirectory() return user_dir; // This shouldn't ever happen, but let's manually fallback to the default - const char* home = g_get_home_dir(); + auto home = GetUserHomeDirectory(); - if (home) + if (!home.empty()) { const char* subdir = G_DIR_SEPARATOR_S ".local" G_DIR_SEPARATOR_S "share"; - return std::string(home).append(subdir); + return home.append(subdir); } return ""; diff --git a/UnityCore/DesktopUtilities.h b/UnityCore/DesktopUtilities.h index 203603ea1..c3c94b9b3 100644 --- a/UnityCore/DesktopUtilities.h +++ b/UnityCore/DesktopUtilities.h @@ -29,6 +29,7 @@ namespace unity class DesktopUtilities { public: + static std::string GetUserHomeDirectory(); static std::string GetUserDataDirectory(); static std::string GetUserCacheDirectory(); static std::string GetUserRuntimeDirectory(); -- cgit v1.2.3