[PATCH V2 nm-openconnect 1/3] auth-dialog: Introduce FORMCHOICE helper macro
Kevin Cernekee
cernekee at gmail.com
Mon Dec 30 20:49:35 EST 2013
libopenconnect >= 3.0 uses a pointer array so we need to change the way
the "choices" field is accessed.
---
auth-dialog/main.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/auth-dialog/main.c b/auth-dialog/main.c
index 8bc13b8..9253daa 100644
--- a/auth-dialog/main.c
+++ b/auth-dialog/main.c
@@ -71,6 +71,8 @@
#define __openconnect_set_token_mode openconnect_set_token_mode
#endif
+#define FORMCHOICE(sopt, i) (&(sopt)->choices[i])
+
#ifdef OPENCONNECT_OPENSSL
#include <openssl/ssl.h>
#include <openssl/bio.h>
@@ -332,10 +334,10 @@ static void combo_changed(GtkComboBox *combo, ui_fragment_data *data)
if (entry < 0)
return;
- data->entry_text = sopt->choices[entry].name;
+ data->entry_text = FORMCHOICE(sopt, entry)->name;
g_queue_foreach(data->ui_data->form_entries, (GFunc)do_override_label,
- &sopt->choices[entry]);
+ FORMCHOICE(sopt, entry));
}
#ifdef OPENCONNECT_OPENSSL
@@ -423,17 +425,17 @@ static gboolean ui_add_select (ui_fragment_data *data)
combo = gtk_combo_box_text_new();
gtk_box_pack_end(GTK_BOX(hbox), combo, FALSE, FALSE, 0);
for (i = 0; i < sopt->nr_choices; i++) {
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), sopt->choices[i].label);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), FORMCHOICE(sopt, i)->label);
if (data->entry_text &&
- !strcmp(data->entry_text, sopt->choices[i].name)) {
+ !strcmp(data->entry_text, FORMCHOICE(sopt, i)->name)) {
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), i);
g_free(data->entry_text);
- data->entry_text = sopt->choices[i].name;
+ data->entry_text = FORMCHOICE(sopt, i)->name;
}
}
if (gtk_combo_box_get_active(GTK_COMBO_BOX(combo)) < 0) {
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
- data->entry_text = sopt->choices[0].name;
+ data->entry_text = FORMCHOICE(sopt, 0)->name;
}
if (g_queue_peek_tail(ui_data->form_entries) == data)
--
1.8.3.2
More information about the openconnect-devel
mailing list