1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

Create config directory

This commit is contained in:
James Booth 2012-07-19 21:30:07 +01:00
parent ecfa3e5d38
commit 6bfc88339c
3 changed files with 31 additions and 0 deletions

View File

@ -20,10 +20,39 @@
*
*/
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <errno.h>
#include <stdio.h>
#include <glib.h>
static void _create_dir(char *name);
void p_slist_free_full(GSList *items, GDestroyNotify free_func)
{
g_slist_foreach (items, (GFunc) free_func, NULL);
g_slist_free (items);
}
void create_config_directory()
{
GString *dir = g_string_new(getenv("HOME"));
g_string_append(dir, "/.config");
_create_dir(dir->str);
g_string_append(dir, "/profanity");
_create_dir(dir->str);
}
void _create_dir(char *name)
{
int e;
struct stat sb;
e = stat(name, &sb);
if (e != 0)
if (errno == ENOENT)
e = mkdir(name, S_IRWXU);
}

View File

@ -50,5 +50,6 @@ typedef enum {
#endif
void p_slist_free_full(GSList *items, GDestroyNotify free_func);
void create_config_directory();
#endif

View File

@ -65,6 +65,7 @@ void profanity_run(void)
void profanity_init(const int disable_tls)
{
create_config_directory();
log_init();
prefs_load();
gui_init();