about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-01-15 00:56:17 +0000
committerJames Booth <boothj5@gmail.com>2015-01-15 00:56:17 +0000
commit3b69ad7b610cbd9a5f77ebe0af5b9d58c32c4050 (patch)
tree10d874caf7630382552fa3b7488eb9f0a9d6b89f /src
parent0007e3569e446429e09ec5bffd645512b62d0db8 (diff)
downloadprofani-tty-3b69ad7b610cbd9a5f77ebe0af5b9d58c32c4050.tar.gz
Tidy profanity.c
Diffstat (limited to 'src')
-rw-r--r--src/profanity.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/profanity.c b/src/profanity.c
index 698994eb..ad074f6a 100644
--- a/src/profanity.c
+++ b/src/profanity.c
@@ -75,26 +75,25 @@ void
 prof_run(const int disable_tls, char *log_level, char *account_name)
 {
     _init(disable_tls, log_level);
-    log_info("Starting main event loop");
-    ui_input_nonblocking(TRUE);
-    jabber_conn_status_t conn_status = jabber_get_connection_status();
 
     char inp[INP_WIN_MAX];
     int size = 0;
 
     char *pref_connect_account = prefs_get_string(PREF_CONNECT_ACCOUNT);
     if (account_name != NULL) {
-        char *cmd = "/connect";
-        snprintf(inp, sizeof(inp), "%s %s", cmd, account_name);
+        snprintf(inp, sizeof(inp), "%s %s", "/connect", account_name);
         process_input(inp);
     } else if (pref_connect_account != NULL) {
-        char *cmd = "/connect";
-        snprintf(inp, sizeof(inp), "%s %s", cmd, pref_connect_account);
+        snprintf(inp, sizeof(inp), "%s %s", "/connect", pref_connect_account);
         process_input(inp);
     }
     prefs_free_string(pref_connect_account);
+
     ui_update();
 
+    log_info("Starting main event loop");
+
+    jabber_conn_status_t conn_status = jabber_get_connection_status();
     gboolean cmd_result = TRUE;
     while(cmd_result == TRUE) {
         wint_t ch = ERR;
@@ -196,15 +195,15 @@ static void
 _handle_idle_time()
 {
     gint prefs_time = prefs_get_autoaway_time() * 60000;
-    resource_presence_t current_presence = accounts_get_last_presence(jabber_get_account_name());
     unsigned long idle_ms = ui_get_idle_time();
     char *pref_autoaway_mode = prefs_get_string(PREF_AUTOAWAY_MODE);
-    char *pref_autoaway_message = prefs_get_string(PREF_AUTOAWAY_MESSAGE);
 
     if (!idle) {
+        resource_presence_t current_presence = accounts_get_last_presence(jabber_get_account_name());
         if ((current_presence == RESOURCE_ONLINE) || (current_presence == RESOURCE_CHAT)) {
             if (idle_ms >= prefs_time) {
                 idle = TRUE;
+                char *pref_autoaway_message = prefs_get_string(PREF_AUTOAWAY_MESSAGE);
 
                 // handle away mode
                 if (strcmp(pref_autoaway_mode, "away") == 0) {
@@ -215,6 +214,8 @@ _handle_idle_time()
                 } else if (strcmp(pref_autoaway_mode, "idle") == 0) {
                     presence_update(RESOURCE_ONLINE, pref_autoaway_message, idle_ms / 1000);
                 }
+
+                prefs_free_string(pref_autoaway_message);
             }
         }
 
@@ -234,8 +235,8 @@ _handle_idle_time()
             }
         }
     }
+
     prefs_free_string(pref_autoaway_mode);
-    prefs_free_string(pref_autoaway_message);
 }
 
 static void
@@ -275,6 +276,7 @@ _init(const int disable_tls, char *log_level)
     otr_init();
 #endif
     atexit(_shutdown);
+    ui_input_nonblocking(TRUE);
 }
 
 static void