aboutsummaryrefslogtreecommitdiff
path: root/src/anastasis/anastasis-gtk_handle-challenge-code.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/anastasis/anastasis-gtk_handle-challenge-code.c')
-rw-r--r--src/anastasis/anastasis-gtk_handle-challenge-code.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/anastasis/anastasis-gtk_handle-challenge-code.c b/src/anastasis/anastasis-gtk_handle-challenge-code.c
index 7a993da..4f42023 100644
--- a/src/anastasis/anastasis-gtk_handle-challenge-code.c
+++ b/src/anastasis/anastasis-gtk_handle-challenge-code.c
@@ -49,6 +49,7 @@ anastasis_gtk_c_code_dialog_response_cb (GtkDialog *dialog,
49 json_t *args; 49 json_t *args;
50 unsigned long long pin; 50 unsigned long long pin;
51 char dummy; 51 char dummy;
52 char s[16];
52 53
53 if (GTK_RESPONSE_OK != response_id) 54 if (GTK_RESPONSE_OK != response_id)
54 { 55 {
@@ -65,20 +66,15 @@ anastasis_gtk_c_code_dialog_response_cb (GtkDialog *dialog,
65 q = GTK_ENTRY (gtk_builder_get_object (builder, 66 q = GTK_ENTRY (gtk_builder_get_object (builder,
66 "anastasis_gtk_c_code_entry")); 67 "anastasis_gtk_c_code_entry"));
67 qs = gtk_entry_get_text (q); 68 qs = gtk_entry_get_text (q);
68 if ( (NULL != qs) && 69 if (! ANASTASIS_scan_pin (qs,
69 (0 == strncasecmp ("a-", qs, 2)) ) 70 &pin))
70 qs += 2; /* skip "A-" prefix if present */
71 if (1 != sscanf (qs,
72 "%llu%c",
73 &pin,
74 &dummy))
75 { 71 {
76 GNUNET_break (0); 72 GNUNET_break (0);
77 return; 73 return;
78 } 74 }
79 args = GNUNET_JSON_PACK ( 75 args = GNUNET_JSON_PACK (
80 GNUNET_JSON_pack_uint64 ("pin", 76 GNUNET_JSON_pack_uint64 ("pin",
81 pin)); 77 (uint64_t) pin));
82 gtk_widget_destroy (GTK_WIDGET (dialog)); 78 gtk_widget_destroy (GTK_WIDGET (dialog));
83 g_object_unref (G_OBJECT (builder)); 79 g_object_unref (G_OBJECT (builder));
84 AG_freeze (); 80 AG_freeze ();
@@ -98,21 +94,14 @@ anastasis_gtk_c_code_dialog_answer_entry_changed_cb (GtkEntry *entry,
98 GtkBuilder *builder = GTK_BUILDER (user_data); 94 GtkBuilder *builder = GTK_BUILDER (user_data);
99 GtkEntry *a; 95 GtkEntry *a;
100 const char *as; 96 const char *as;
101 unsigned int pin; 97 unsigned long long pin;
102 char dummy;
103 bool ok; 98 bool ok;
104 99
105 a = GTK_ENTRY (gtk_builder_get_object (builder, 100 a = GTK_ENTRY (gtk_builder_get_object (builder,
106 "anastasis_gtk_c_code_entry")); 101 "anastasis_gtk_c_code_entry"));
107 as = gtk_entry_get_text (a); 102 as = gtk_entry_get_text (a);
108 if ( (NULL != as) && 103 ok = ANASTASIS_scan_pin (as,
109 (0 == strncasecmp ("a-", as, 2)) ) 104 &pin);
110 as += 2; /* skip "A-" prefix if present */
111 ok = ( (NULL != as) &&
112 (1 == sscanf (as,
113 "%u%c",
114 &pin,
115 &dummy)) );
116 gtk_widget_set_sensitive ( 105 gtk_widget_set_sensitive (
117 GTK_WIDGET (gtk_builder_get_object (builder, 106 GTK_WIDGET (gtk_builder_get_object (builder,
118 "anastasis_gtk_c_code_dialog_btn_ok")), 107 "anastasis_gtk_c_code_dialog_btn_ok")),