about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/profanity.c5
-rw-r--r--src/ui/core.c9
-rw-r--r--src/ui/ui.h2
-rw-r--r--tests/ui/stub_ui.c2
4 files changed, 9 insertions, 9 deletions
diff --git a/src/profanity.c b/src/profanity.c
index 3b43f797..9924fb91 100644
--- a/src/profanity.c
+++ b/src/profanity.c
@@ -99,7 +99,6 @@ prof_run(const int disable_tls, char *log_level, char *account_name)
 
     while(cmd_result == TRUE) {
         wint_t ch = ERR;
-        int result;
         size = 0;
 
         while(ch != '\n') {
@@ -116,9 +115,7 @@ prof_run(const int disable_tls, char *log_level, char *account_name)
                 g_timer_start(timer);
             }
 
-            ch = ui_get_char(inp, &size, &result);
-
-            ui_handle_special_keys(ch, result);
+            ch = ui_get_char(inp, &size);
 #ifdef HAVE_LIBOTR
             otr_poll();
 #endif
diff --git a/src/ui/core.c b/src/ui/core.c
index 15dddbb7..855c600c 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -175,16 +175,19 @@ ui_close(void)
 }
 
 wint_t
-ui_get_char(char *input, int *size, int *result)
+ui_get_char(char *input, int *size)
 {
-    wint_t ch = inp_get_char(input, size, result);
-    if (ch != ERR && *result != ERR) {
+    int result = 0;
+    wint_t ch = inp_get_char(input, size, &result);
+    if (ch != ERR && result != ERR) {
         ui_reset_idle_time();
         ui_input_nonblocking(TRUE);
     } else {
         ui_input_nonblocking(FALSE);
     }
 
+    ui_handle_special_keys(ch, result);
+
     return ch;
 }
 
diff --git a/src/ui/ui.h b/src/ui/ui.h
index 58ce8fb5..600f7fe0 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -230,7 +230,7 @@ void ui_update_presence(const resource_presence_t resource_presence,
 void ui_about(void);
 void ui_statusbar_new(const int win);
 
-wint_t ui_get_char(char *input, int *size, int *result);
+wint_t ui_get_char(char *input, int *size);
 void ui_input_clear(void);
 void ui_input_nonblocking(gboolean);
 void ui_replace_input(char *input, const char * const new_input, int *size);
diff --git a/tests/ui/stub_ui.c b/tests/ui/stub_ui.c
index da75c3dd..a4130279 100644
--- a/tests/ui/stub_ui.c
+++ b/tests/ui/stub_ui.c
@@ -325,7 +325,7 @@ void ui_update_presence(const resource_presence_t resource_presence,
 void ui_about(void) {}
 void ui_statusbar_new(const int win) {}
 
-wint_t ui_get_char(char *input, int *size, int *result)
+wint_t ui_get_char(char *input, int *size)
 {
     return 0;
 }