From fd0472721270f5ab133632fff1a958a52c318a6d Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 21 Feb 2020 09:51:40 +0100 Subject: pref: Use helper functions for setting/getting the encryption char Dont duplicate code. --- src/config/preferences.c | 62 +++++++++++++++++++----------------------------- 1 file changed, 24 insertions(+), 38 deletions(-) (limited to 'src/config') diff --git a/src/config/preferences.c b/src/config/preferences.c index a747c911..3e9629e1 100644 --- a/src/config/preferences.c +++ b/src/config/preferences.c @@ -868,14 +868,14 @@ prefs_get_roster_size(void) } } -char* -prefs_get_otr_char(void) +static char* +_prefs_get_encryption_char(const char *const ch, const char *const pref_group, const char *const key) { - char *result = "~"; + char *result = NULL; - char *resultstr = g_key_file_get_string(prefs, PREF_GROUP_OTR, "otr.char", NULL); + char *resultstr = g_key_file_get_string(prefs, pref_group, key, NULL); if (!resultstr) { - result = strdup("~"); + result = strdup(ch); } else { result = resultstr; } @@ -883,64 +883,50 @@ prefs_get_otr_char(void) return result; } -void -prefs_set_otr_char(char *ch) +static void +_prefs_set_encryption_char(const char *const ch, const char *const pref_group, const char *const key) { if (g_utf8_strlen(ch, 4) == 1) { - g_key_file_set_string(prefs, PREF_GROUP_OTR, "otr.char", ch); + g_key_file_set_string(prefs, pref_group, key, ch); } else { - log_error("Could not set otr char: %s", ch); + log_error("Could not set %s encryption char to: %s", key, ch); } } char* -prefs_get_pgp_char(void) +prefs_get_otr_char(void) { - char *result = "~"; + return _prefs_get_encryption_char("~", PREF_GROUP_OTR, "otr.char"); +} - char *resultstr = g_key_file_get_string(prefs, PREF_GROUP_PGP, "pgp.char", NULL); - if (!resultstr) { - result = strdup("~"); - } else { - result = resultstr; - } +void +prefs_set_otr_char(char *ch) +{ + _prefs_set_encryption_char(ch, PREF_GROUP_OTR, "otr.char"); +} - return result; +char* +prefs_get_pgp_char(void) +{ + return _prefs_get_encryption_char("~", PREF_GROUP_PGP, "pgp.char"); } void prefs_set_pgp_char(char *ch) { - if (g_utf8_strlen(ch, 4) == 1) { - g_key_file_set_string(prefs, PREF_GROUP_PGP, "pgp.char", ch); - } else { - log_error("Could not set pgp char: %s", ch); - } + _prefs_set_encryption_char(ch, PREF_GROUP_PGP, "pgp.char"); } char* prefs_get_omemo_char(void) { - char *result = "~"; - - char *resultstr = g_key_file_get_string(prefs, PREF_GROUP_OMEMO, "omemo.char", NULL); - if (!resultstr) { - result = strdup("~"); - } else { - result = resultstr; - } - - return result; + return _prefs_get_encryption_char("~", PREF_GROUP_OMEMO, "omemo.char"); } void prefs_set_omemo_char(char *ch) { - if (g_utf8_strlen(ch, 4) == 1) { - g_key_file_set_string(prefs, PREF_GROUP_OMEMO, "omemo.char", ch); - } else { - log_error("Could not set omemo char: %s", ch); - } + _prefs_set_encryption_char(ch, PREF_GROUP_OMEMO, "omemo.char"); } char -- cgit 1.4.1-2-gfad0