Simplify usage of roster_get_display_name()

Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
Steffen Jaeckel
2023-12-09 15:08:47 +01:00
parent 3c939264b3
commit dc0f2acb9a
8 changed files with 14 additions and 84 deletions

View File

@@ -192,6 +192,8 @@ p_contact_barejid_collate_key(const PContact contact)
const char*
p_contact_name(const PContact contact)
{
if (!contact)
return NULL;
return contact->name;
}

View File

@@ -183,25 +183,12 @@ roster_get_contact(const char* const barejid)
return contact;
}
char*
const char*
roster_get_display_name(const char* const barejid)
{
assert(roster != NULL);
GString* result = g_string_new("");
PContact contact = roster_get_contact(barejid);
if (contact) {
if (p_contact_name(contact)) {
g_string_append(result, p_contact_name(contact));
} else {
g_string_append(result, barejid);
}
} else {
g_string_append(result, barejid);
}
return g_string_free(result, FALSE);
return p_contact_name(roster_get_contact(barejid)) ?: barejid;
}
gchar*
@@ -215,25 +202,12 @@ roster_get_msg_display_name(const char* const barejid, const char* const resourc
return incoming_str;
}
GString* result = g_string_new("");
PContact contact = roster_get_contact(barejid);
if (contact) {
if (p_contact_name(contact)) {
g_string_append(result, p_contact_name(contact));
} else {
g_string_append(result, barejid);
}
} else {
g_string_append(result, barejid);
}
const char* contact_name = roster_get_display_name(barejid);
if (resource && prefs_get_boolean(PREF_RESOURCE_MESSAGE)) {
g_string_append(result, "/");
g_string_append(result, resource);
return g_strdup_printf("%s/%s", contact_name, resource);
}
return g_string_free(result, FALSE);
return g_strdup(contact_name);
}
gboolean

View File

@@ -70,7 +70,7 @@ GList* roster_get_groups(void);
char* roster_group_autocomplete(const char* const search_str, gboolean previous, void* context);
char* roster_barejid_autocomplete(const char* const search_str, gboolean previous, void* context);
GSList* roster_get_contacts_by_presence(const char* const presence);
char* roster_get_display_name(const char* const barejid);
const char* roster_get_display_name(const char* const barejid);
gchar* roster_get_msg_display_name(const char* const barejid, const char* const resource);
gint roster_compare_name(PContact a, PContact b);
gint roster_compare_presence(PContact a, PContact b);