diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/chatlog.c | 3 | ||||
-rw-r--r-- | src/config/accounts.c | 170 | ||||
-rw-r--r-- | src/config/scripts.c | 6 | ||||
-rw-r--r-- | src/database.c | 4 | ||||
-rw-r--r-- | src/xmpp/stanza.c | 2 |
6 files changed, 61 insertions, 126 deletions
diff --git a/configure.ac b/configure.ac index 96495386..408cdbbd 100644 --- a/configure.ac +++ b/configure.ac @@ -301,7 +301,7 @@ if test "x$enable_otr" != xno; then AM_CONDITIONAL([BUILD_OTR], [true]) PKG_CHECK_MODULES([libotr], [libotr >= 4.0], - [LIBS="$libotr_LIBS $LIBS" CFLAGS="$libotr_CFLAGS $cflags"], + [LIBS="$libotr_LIBS $LIBS" CFLAGS="$libotr_CFLAGS $CFLAGS"], [AM_CONDITIONAL([BUILD_OTR], [false]) AS_IF([test "x$enable_otr" = xyes], [AC_MSG_ERROR([libotr >= 4.0 is required for OTR support])], diff --git a/src/chatlog.c b/src/chatlog.c index da5c7e2b..482e8f38 100644 --- a/src/chatlog.c +++ b/src/chatlog.c @@ -57,7 +57,6 @@ static GHashTable* logs; static GHashTable* groupchat_logs; -static GDateTime* session_started; struct dated_chat_log { @@ -77,7 +76,6 @@ static void _groupchat_log_chat(const gchar* const login, const gchar* const roo void chat_log_init(void) { - session_started = g_date_time_new_now_local(); log_info("Initialising chat logs"); logs = g_hash_table_new_full(g_str_hash, (GEqualFunc)_key_equals, free, (GDestroyNotify)_free_chat_log); @@ -422,7 +420,6 @@ chat_log_close(void) { g_hash_table_destroy(logs); g_hash_table_destroy(groupchat_logs); - g_date_time_unref(session_started); } static char* diff --git a/src/config/accounts.c b/src/config/accounts.c index d99dd10d..d185b1ad 100644 --- a/src/config/accounts.c +++ b/src/config/accounts.c @@ -3,6 +3,7 @@ * vim: expandtab:ts=4:sts=4:sw=4 * * Copyright (C) 2012 - 2019 James Booth <boothj5@gmail.com> + * Copyright (C) 2019 - 2022 Michael Vetter <jubalh@iodoru.org> * * This file is part of Profanity. * @@ -510,148 +511,127 @@ accounts_set_port(const char* const account_name, const int value) } } -void -accounts_set_resource(const char* const account_name, const char* const value) +static void +_accounts_set_string_option(const char* account_name, const char* const option, const char* const value) { if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "resource", value); + g_key_file_set_string(accounts, account_name, option, value); _save_accounts(); } } -void -accounts_set_password(const char* const account_name, const char* const value) +static void +_accounts_set_int_option(const char* account_name, const char* const option, int value) { if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "password", value); + g_key_file_set_integer(accounts, account_name, option, value); _save_accounts(); } } -void -accounts_set_eval_password(const char* const account_name, const char* const value) +static void +_accounts_clear_string_option(const char* account_name, const char* const option) { if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "eval_password", value); + g_key_file_remove_key(accounts, account_name, option, NULL); _save_accounts(); } } void +accounts_set_resource(const char* const account_name, const char* const value) +{ + _accounts_set_string_option(account_name, "resource", value); +} + +void +accounts_set_password(const char* const account_name, const char* const value) +{ + _accounts_set_string_option(account_name, "password", value); +} + +void +accounts_set_eval_password(const char* const account_name, const char* const value) +{ + _accounts_set_string_option(account_name, "eval_password", value); +} + +void accounts_set_pgp_keyid(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "pgp.keyid", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "pgp.keyid", value); } void accounts_set_script_start(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "script.start", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "script.start", value); } void accounts_set_theme(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "theme", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "theme", value); } void accounts_clear_password(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "password", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "password"); } void accounts_clear_eval_password(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "eval_password", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "eval_password"); } void accounts_clear_server(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "server", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "server"); } void accounts_clear_port(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "port", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "port"); } void accounts_clear_pgp_keyid(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "pgp.keyid", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "pgp.keyid"); } void accounts_clear_script_start(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "script.start", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "script.start"); } void accounts_clear_theme(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "theme", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "theme"); } void accounts_clear_muc(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "muc.service", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "muc.service"); } void accounts_clear_resource(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "resource", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "resource"); } void accounts_clear_otr(const char* const account_name) { - if (accounts_account_exists(account_name)) { - g_key_file_remove_key(accounts, account_name, "otr.policy", NULL); - _save_accounts(); - } + _accounts_clear_string_option(account_name, "otr.policy"); } void @@ -740,100 +720,67 @@ accounts_clear_omemo_state(const char* const account_name, const char* const con void accounts_set_muc_service(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "muc.service", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "muc.service", value); } void accounts_set_muc_nick(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "muc.nick", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "muc.nick", value); } void accounts_set_otr_policy(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "otr.policy", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "otr.policy", value); } void accounts_set_omemo_policy(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "omemo.policy", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "omemo.policy", value); } void accounts_set_tls_policy(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "tls.policy", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "tls.policy", value); } void accounts_set_auth_policy(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "auth.policy", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "auth.policy", value); } void accounts_set_priority_online(const char* const account_name, const gint value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_integer(accounts, account_name, "priority.online", value); - _save_accounts(); - } + _accounts_set_int_option(account_name, "priority.online", value); } void accounts_set_priority_chat(const char* const account_name, const gint value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_integer(accounts, account_name, "priority.chat", value); - _save_accounts(); - } + _accounts_set_int_option(account_name, "priority.chat", value); } void accounts_set_priority_away(const char* const account_name, const gint value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_integer(accounts, account_name, "priority.away", value); - _save_accounts(); - } + _accounts_set_int_option(account_name, "priority.away", value); } void accounts_set_priority_xa(const char* const account_name, const gint value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_integer(accounts, account_name, "priority.xa", value); - _save_accounts(); - } + _accounts_set_int_option(account_name, "priority.xa", value); } void accounts_set_priority_dnd(const char* const account_name, const gint value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_integer(accounts, account_name, "priority.dnd", value); - _save_accounts(); - } + _accounts_set_int_option(account_name, "priority.dnd", value); } void @@ -845,7 +792,6 @@ accounts_set_priority_all(const char* const account_name, const gint value) accounts_set_priority_away(account_name, value); accounts_set_priority_xa(account_name, value); accounts_set_priority_dnd(account_name, value); - _save_accounts(); } } @@ -882,21 +828,13 @@ accounts_get_priority_for_presence_type(const char* const account_name, void accounts_set_last_presence(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - g_key_file_set_string(accounts, account_name, "presence.last", value); - _save_accounts(); - } + _accounts_set_string_option(account_name, "presence.last", value); } void accounts_set_last_status(const char* const account_name, const char* const value) { - if (accounts_account_exists(account_name)) { - if (value) { - g_key_file_set_string(accounts, account_name, "presence.laststatus", value); - } - _save_accounts(); - } + _accounts_set_string_option(account_name, "presence.laststatus", value); } void diff --git a/src/config/scripts.c b/src/config/scripts.c index 3f006f77..aca85173 100644 --- a/src/config/scripts.c +++ b/src/config/scripts.c @@ -112,10 +112,9 @@ scripts_read(const char* const script) char* line = NULL; size_t len = 0; - ssize_t read; GSList* result = NULL; - while ((read = getline(&line, &len, scriptfile)) != -1) { + while (getline(&line, &len, scriptfile) != -1) { if (g_str_has_suffix(line, "\n")) { result = g_slist_append(result, g_strndup(line, strlen(line) - 1)); } else { @@ -150,9 +149,8 @@ scripts_exec(const char* const script) char* line = NULL; size_t len = 0; - ssize_t read; - while ((read = getline(&line, &len, scriptfile)) != -1) { + while (getline(&line, &len, scriptfile) != -1) { ProfWin* win = wins_get_current(); cmd_process_input(win, line); session_process_events(); diff --git a/src/database.c b/src/database.c index 0ccd422a..b6497e09 100644 --- a/src/database.c +++ b/src/database.c @@ -301,7 +301,9 @@ _add_to_db(ProfMessage* message, char* type, const Jid* const from_jid, const Ji if (message->timestamp) { date_fmt = g_date_time_format_iso8601(message->timestamp); } else { - date_fmt = g_date_time_format_iso8601(g_date_time_new_now_local()); + GDateTime* dt = g_date_time_new_now_local(); + date_fmt = g_date_time_format_iso8601(dt); + g_date_time_unref(dt); } const char* enc = _get_message_enc_str(message->enc); diff --git a/src/xmpp/stanza.c b/src/xmpp/stanza.c index 8dcad982..c6bf19fb 100644 --- a/src/xmpp/stanza.c +++ b/src/xmpp/stanza.c @@ -2635,7 +2635,7 @@ stanza_create_avatar_data_publish_iq(xmpp_ctx_t* ctx, const char* img_data, gsiz xmpp_stanza_t* stanza_create_avatar_metadata_publish_iq(xmpp_ctx_t* ctx, const char* img_data, gsize len, int height, int width) { - char* id = id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_attribute(iq, STANZA_ATTR_FROM, connection_get_fulljid()); |