summaryrefslogtreecommitdiff
path: root/endless
diff options
context:
space:
mode:
Diffstat (limited to 'endless')
-rw-r--r--endless/endless.h2
-rw-r--r--endless/eosinit.c16
2 files changed, 11 insertions, 7 deletions
diff --git a/endless/endless.h b/endless/endless.h
index 3398b4d..9efbe6e 100644
--- a/endless/endless.h
+++ b/endless/endless.h
@@ -26,7 +26,7 @@ gboolean eos_hello_sample_function (GFile *file,
GError **error);
EOS_SDK_ALL_API_VERSIONS
-const char * eos_get_system_personality (void);
+const gchar * eos_get_system_personality (void);
G_END_DECLS
diff --git a/endless/eosinit.c b/endless/eosinit.c
index 057e391..f285da7 100644
--- a/endless/eosinit.c
+++ b/endless/eosinit.c
@@ -21,8 +21,6 @@ should also work on Clang. */
static gboolean _eos_initialized = FALSE;
-static char *eos_system_personality;
-
/*
* _eos_init:
*
@@ -67,17 +65,23 @@ eos_is_inited (void)
* with the name of the personality. You should never free or modify
* the returned string.
*/
-const char *
+const gchar *
eos_get_system_personality (void)
{
- static char *personality;
+ static gchar *personality;
if (g_once_init_enter (&personality))
{
- char *tmp;
+ gchar *tmp;
tmp = g_strdup (g_getenv ("ENDLESS_OS_PERSONALITY"));
- if (tmp == NULL || *tmp == '\0')
+ if (tmp == '\0')
+ {
+ g_free (tmp);
+ tmp = NULL;
+ }
+
+ if (tmp == NULL)
{
char *path = g_build_filename (DATADIR,
"EndlessOS",