static void _save_prefs(void) { gsize g_data_size; gchar *g_prefs_data = g_key_file_to_data(prefs, &g_data_size, NULL); gchar *base = g_path_get_basename(prefs_loc); gchar *true_loc = get_file_or_linked(prefs_loc, base); g_file_set_contents(true_loc, g_prefs_data, g_data_size, NULL); g_chmod(prefs_loc, S_IRUSR | S_IWUSR); g_free(base); free(true_loc); g_free(g_prefs_data); }
static void _save_accounts(void) { gsize g_data_size; gchar *g_accounts_data = g_key_file_to_data(accounts, &g_data_size, NULL); gchar *xdg_data = xdg_get_data_home(); GString *base_str = g_string_new(xdg_data); g_string_append(base_str, "/profanity/"); gchar *true_loc = get_file_or_linked(accounts_loc, base_str->str); g_file_set_contents(true_loc, g_accounts_data, g_data_size, NULL); g_chmod(accounts_loc, S_IRUSR | S_IWUSR); g_free(xdg_data); free(true_loc); g_free(g_accounts_data); g_string_free(base_str, TRUE); }
static void _save_settings(void) { gsize g_data_size; gchar *g_data = g_key_file_to_data(settings, &g_data_size, NULL); char *fileloc = files_get_data_path(FILE_PLUGIN_SETTINGS); gchar *base = g_path_get_basename(fileloc); gchar *true_loc = get_file_or_linked(fileloc, base); g_free(base); g_file_set_contents(true_loc, g_data, g_data_size, NULL); free(true_loc); g_free(g_data); g_chmod(fileloc, S_IRUSR | S_IWUSR); free(fileloc); }
static void _save_settings(void) { gsize g_data_size; gchar *g_data = g_key_file_to_data(settings, &g_data_size, NULL); gchar *xdg_data = xdg_get_data_home(); GString *fileloc = g_string_new(xdg_data); g_free(xdg_data); g_string_append(fileloc, "/profanity/"); char *base = strdup(fileloc->str); g_string_append(fileloc, "plugin_settings"); gchar *true_loc = get_file_or_linked(fileloc->str, base); free(base); g_file_set_contents(true_loc, g_data, g_data_size, NULL); free(true_loc); g_free(g_data); g_chmod(fileloc->str, S_IRUSR | S_IWUSR); g_string_free(fileloc, TRUE); }