67
67
static pid_t httpd_pid = 0;
68
68
static guint disabled_timeout_tag = 0;
71
lookup_public_dir (void)
81
config_file = g_build_filename (g_get_user_config_dir (), "user-dirs.dirs", NULL);
82
file = fopen (config_file, "r");
88
while (fgets (buffer, sizeof (buffer), file)) {
89
/* Remove newline at end */
90
len = strlen (buffer);
91
if (len > 0 && buffer[len-1] == '\n')
95
while (*p == ' ' || *p == '\t')
98
if (!g_str_has_prefix (p, "XDG_PUBLICSHARE_DIR"))
100
p += strlen ("XDG_PUBLICSHARE_DIR");
102
while (*p == ' ' || *p == '\t')
109
while (*p == ' ' || *p == '\t')
117
if (strncmp (p, "$HOME/", 6) == 0) {
125
user_dir = g_malloc (strlen (g_get_home_dir()) + 1 + strlen (p) + 1);
126
strcpy (user_dir, g_get_home_dir ());
127
strcat (user_dir, "/");
129
user_dir = g_malloc (strlen (p) + 1);
133
d = user_dir + strlen (user_dir);
134
while (*p && *p != '"') {
135
if ((*p == '\\') && (*(p+1) != 0))
147
return g_build_filename (g_get_home_dir (), "Public", NULL);
340
ensure_public_dir (void)
420
ensure_public_dir (char *dirname)
344
dirname = g_build_filename (g_get_home_dir (), "Public", NULL);
345
422
if (!g_file_test (dirname, G_FILE_TEST_IS_DIR)) {
346
423
mkdir (dirname, 0755);