Implemented /script list

This commit is contained in:
James Booth
2015-10-17 22:30:01 +01:00
parent 0769fc6b1b
commit a35cbea732
7 changed files with 53 additions and 5 deletions

View File

@@ -66,6 +66,32 @@ scripts_init(void)
log_error("Error creating directory: %s", scriptsdir->str);
}
}
g_string_free(scriptsdir, TRUE);
}
GSList*
scripts_list(void)
{
gchar *data_home = xdg_get_data_home();
GString *scriptsdir = g_string_new(data_home);
free(data_home);
g_string_append(scriptsdir, "/profanity/scripts");
GSList *result = NULL;
GDir *scripts = g_dir_open(scriptsdir->str, 0, NULL);
g_string_free(scriptsdir, TRUE);
if (scripts) {
const gchar *script = g_dir_read_name(scripts);
while (script) {
result = g_slist_append(result, strdup(script));
script = g_dir_read_name(scripts);
}
g_dir_close(scripts);
}
return result;
}
gboolean