diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-12-17 19:18:33 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-12-18 03:19:03 +0000 |
commit | d222dd398904dda499cb6fe2d5f300643076c2b1 (patch) | |
tree | 2ed0f5f624edd872ec333a4858ceed8da3d67dee /ui/gtk/main_menubar.c | |
parent | 4bec4b0167961bf557f82fb20ba3e95e4dfd3f86 (diff) |
Provide routines to set string-like and range preferences from a string.
That gets rid of some duplicate code.
Change-Id: I4b65c6c73929d18602f6b0425e4f3dbbabbf0127
Reviewed-on: https://code.wireshark.org/review/12713
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'ui/gtk/main_menubar.c')
-rw-r--r-- | ui/gtk/main_menubar.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/ui/gtk/main_menubar.c b/ui/gtk/main_menubar.c index d8bccc9aff..f2b87383c2 100644 --- a/ui/gtk/main_menubar.c +++ b/ui/gtk/main_menubar.c @@ -4784,7 +4784,6 @@ menu_prefs_change_ok (GtkWidget *w, gpointer parent_w) module_t *module = (module_t *)g_object_get_data (G_OBJECT(w), "module"); pref_t *pref = (pref_t *)g_object_get_data (G_OBJECT(w), "pref"); const gchar *new_value = gtk_entry_get_text(GTK_ENTRY(entry)); - range_t *newrange; gchar *p; guint uval; @@ -4803,26 +4802,15 @@ menu_prefs_change_ok (GtkWidget *w, gpointer parent_w) } break; case PREF_STRING: - if (strcmp (*pref->varp.string, new_value) != 0) { - module->prefs_changed = TRUE; - g_free((void*)*pref->varp.string); - *pref->varp.string = g_strdup(new_value); - } + prefs_set_string_like_value(pref, new_value, &module->prefs_changed); break; case PREF_RANGE: - if (range_convert_str(&newrange, new_value, pref->info.max_value) != CVT_NO_ERROR) { + if (!prefs_set_range_value(pref, new_value, &module->prefs_changed)) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "The value \"%s\" isn't a valid range.", new_value); return; } - if (!ranges_are_equal(*pref->varp.range, newrange)) { - module->prefs_changed = TRUE; - g_free(*pref->varp.range); - *pref->varp.range = newrange; - } else { - g_free (newrange); - } break; default: g_assert_not_reached(); |