From 194cc9dfaef92fae148cbfc3bcd58b82c9dd7b51 Mon Sep 17 00:00:00 2001 From: Antenore Gatta Date: Wed, 20 Jan 2016 17:51:06 +0100 Subject: [PATCH] profile validation and code cleaning --- remmina/src/remmina_exec.c | 3 +-- remmina/src/remmina_public.c | 36 ----------------------------------- remmina/src/remmina_public.h | 1 - remmina/src/remmina_survey.c | 37 ++++++++++++++++++++++++++++++++++++ remmina/src/remmina_survey.h | 1 + 5 files changed, 39 insertions(+), 39 deletions(-) diff --git a/remmina/src/remmina_exec.c b/remmina/src/remmina_exec.c index 9eae3ea5ad..1514534b8a 100644 --- a/remmina/src/remmina_exec.c +++ b/remmina/src/remmina_exec.c @@ -45,7 +45,6 @@ #include "remmina_connection_window.h" #include "remmina_about.h" #include "remmina_plugin_manager.h" -#include "remmina_public.h" #include "remmina_exec.h" #include "remmina_survey.h" #include "remmina_icon.h" @@ -100,7 +99,7 @@ void remmina_exec_command(RemminaCommandType command, const gchar* data) gtk_widget_show(widget); /* Remmina survey reminder popup */ mainwindow = remmina_main_get_window(); - if ( remmina_survey && remmina_public_count_profile() >= 1) + if ( remmina_survey && remmina_survey_valid_profile()) { /* test if network is up and start survey */ remmina_survey_cb(GTK_WINDOW(mainwindow)); diff --git a/remmina/src/remmina_public.c b/remmina/src/remmina_public.c index 8b830b5f3b..4b97fa392d 100644 --- a/remmina/src/remmina_public.c +++ b/remmina/src/remmina_public.c @@ -701,39 +701,3 @@ void remmina_public_str_replace_in_place(gchar *string, const gchar *search, con string = g_strdup(new_string); return; } -/* Get the number of remmina profiles counting how many .remmina file we have */ -gint -remmina_public_count_profile() -{ - TRACE_CALL("remmina_public_count_profile"); - - GDir *dir; - static gchar remdir[PATH_MAX]; - GError *gerror = NULL; - gchar filename[PATH_MAX]; - const gchar *dir_entry; - gint count_profile=0; - - g_snprintf(remdir, sizeof(remdir), "%s/.%s", g_get_home_dir(), "remmina"); - dir = g_dir_open(remdir, 0, &gerror); - if (gerror != NULL) - { - g_message("Cannot open %s, with error: %s", remdir, gerror->message); - g_error_free(gerror); - g_snprintf(remdir, sizeof(remdir), - "%s/%s", g_get_user_data_dir(), "remmina"); - }else{ - - while ((dir_entry = g_dir_read_name(dir)) != NULL) { - /* Olny *.remmina files */ - if (!g_str_has_suffix(dir_entry, ".remmina\0")) - continue; - g_snprintf(filename, PATH_MAX, "%s/%s", remdir, dir_entry); - - if (filename != NULL) - count_profile++; - } - g_dir_close(dir); - } - return count_profile; -} diff --git a/remmina/src/remmina_public.h b/remmina/src/remmina_public.h index 31cd295636..9dc015a12b 100644 --- a/remmina/src/remmina_public.h +++ b/remmina/src/remmina_public.h @@ -110,5 +110,4 @@ gboolean remmina_public_resolution_validation_func(const gchar *new_str, gchar * /* Replaces all occurences of search in a new copy of string by replacement * and overwrites the original string */ void remmina_public_str_replace_in_place(gchar *string, const gchar *search, const gchar *replacement); -gint remmina_public_count_profile(); #endif /* __REMMINAPUBLIC_H__ */ diff --git a/remmina/src/remmina_survey.c b/remmina/src/remmina_survey.c index 931f39183b..b51984ce68 100644 --- a/remmina/src/remmina_survey.c +++ b/remmina/src/remmina_survey.c @@ -160,6 +160,43 @@ static const gchar *remmina_get_datadir() return remdir; } +/* At least one .remmina file */ +gboolean remmina_survey_valid_profile() +{ + TRACE_CALL("remmina_public_count_profile"); + + GDir *dir; + static gchar remdir[PATH_MAX]; + GError *gerror = NULL; + gchar filename[PATH_MAX]; + const gchar *dir_entry; + gint count_profile=0; + gint min_profiles=1; /* Use a constant */ + + g_snprintf(remdir, sizeof(remdir), "%s/.%s", g_get_home_dir(), "remmina"); + dir = g_dir_open(remdir, 0, &gerror); + if (gerror != NULL) + { + g_message("Cannot open %s, with error: %s", remdir, gerror->message); + g_error_free(gerror); + g_snprintf(remdir, sizeof(remdir), + "%s/%s", g_get_user_data_dir(), "remmina"); + }else{ + + while ((dir_entry = g_dir_read_name(dir)) != NULL) { + /* Olny *.remmina files */ + if (!g_str_has_suffix(dir_entry, ".remmina\0")) + continue; + g_snprintf(filename, PATH_MAX, "%s/%s", remdir, dir_entry); + + if (filename != NULL) + count_profile++; + } + g_dir_close(dir); + } + return (count_profile >= min_profiles); +} + /* Insert setting name and its count in an hashtable */ static void remmina_survey_ret_stat_from_setting(GHashTable *hash_table, gchar *name) { diff --git a/remmina/src/remmina_survey.h b/remmina/src/remmina_survey.h index da21602e9e..19cd0d67c0 100644 --- a/remmina/src/remmina_survey.h +++ b/remmina/src/remmina_survey.h @@ -45,6 +45,7 @@ typedef struct _RemminaSurveyDialog G_BEGIN_DECLS +gboolean remmina_survey_valid_profile(); void remmina_survey_on_startup(GtkWindow *parent); gboolean remmina_survey_cb(gpointer data); void remmina_survey_start();