diff options
Diffstat (limited to 'src/anastasis/anastasis-gtk_handle-challenge-code.c')
-rw-r--r-- | src/anastasis/anastasis-gtk_handle-challenge-code.c | 25 |
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")), |