* fix mu_util_guess_maildir, mu_util_guess_mu_homedir for freebsd
This commit is contained in:
@ -178,39 +178,46 @@ mu_util_check_dir (const gchar* path, gboolean readable, gboolean writeable)
|
||||
gchar*
|
||||
mu_util_guess_maildir (void)
|
||||
{
|
||||
const gchar *mdir1;
|
||||
gchar *mdir2;
|
||||
const gchar *mdir1, *home;
|
||||
|
||||
/* first, try MAILDIR */
|
||||
mdir1 = g_getenv ("MAILDIR");
|
||||
/* first, try MAILDIR */
|
||||
mdir1 = g_getenv ("MAILDIR");
|
||||
|
||||
if (mdir1 && mu_util_check_dir (mdir1, TRUE, FALSE))
|
||||
return g_strdup (mdir1);
|
||||
if (mdir1 && mu_util_check_dir (mdir1, TRUE, FALSE))
|
||||
return g_strdup (mdir1);
|
||||
|
||||
/* then, try ~/Maildir */
|
||||
mdir2 = mu_util_dir_expand ("~/Maildir");
|
||||
if (mu_util_check_dir (mdir2, TRUE, FALSE))
|
||||
return mdir2;
|
||||
/* then, try <home>/Maildir */
|
||||
home = g_get_home_dir();
|
||||
if (home) {
|
||||
char *mdir2;
|
||||
mdir2 = g_strdup_printf ("%s%cMaildir",
|
||||
home, G_DIR_SEPARATOR);
|
||||
if (mu_util_check_dir (mdir2, TRUE, FALSE))
|
||||
return mdir2;
|
||||
g_free (mdir2);
|
||||
}
|
||||
|
||||
/* nope; nothing found */
|
||||
return NULL;
|
||||
/* nope; nothing found */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
gchar*
|
||||
mu_util_guess_mu_homedir (void)
|
||||
{
|
||||
const char* home;
|
||||
const char* home;
|
||||
|
||||
/* g_get_home_dir use /etc/passwd, not $HOME; this is better,
|
||||
* as HOME may be wrong when using 'sudo' etc.*/
|
||||
home = g_get_home_dir ();
|
||||
/* g_get_home_dir use /etc/passwd, not $HOME; this is better,
|
||||
* as HOME may be wrong when using 'sudo' etc.*/
|
||||
home = g_get_home_dir ();
|
||||
|
||||
if (!home)
|
||||
MU_WRITE_LOG ("failed to determine homedir");
|
||||
if (!home) {
|
||||
MU_WRITE_LOG ("failed to determine homedir");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return g_strdup_printf ("%s%c%s", home ? home : ".", G_DIR_SEPARATOR,
|
||||
".mu");
|
||||
return g_strdup_printf ("%s%c%s", home ? home : ".",
|
||||
G_DIR_SEPARATOR, ".mu");
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
||||
Reference in New Issue
Block a user