From fad296b79e42a0df6c0f118e1c011f480462551f Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 22 May 2020 13:56:00 +0200 Subject: Display bookmark name Have field in struct and display the name in `/bookmark list`. Regards https://github.com/profanity-im/profanity/issues/697 --- src/xmpp/bookmark.c | 4 ++++ src/xmpp/xmpp.h | 1 + 2 files changed, 5 insertions(+) (limited to 'src/xmpp') diff --git a/src/xmpp/bookmark.c b/src/xmpp/bookmark.c index b9bbfc32..81d7e19e 100644 --- a/src/xmpp/bookmark.c +++ b/src/xmpp/bookmark.c @@ -277,6 +277,8 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_debug("Handle bookmark for %s", barejid); + const char *room_name = xmpp_stanza_get_attribute(child, "name"); + char *nick = NULL; xmpp_stanza_t *nick_st = xmpp_stanza_get_child_by_name(child, "nick"); if (nick_st) { @@ -300,6 +302,7 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) bookmark->barejid = strdup(barejid); bookmark->nick = nick; bookmark->password = password; + bookmark->name = room_name ? strdup(room_name) : NULL; bookmark->autojoin = autojoin_val; g_hash_table_insert(bookmarks, strdup(barejid), bookmark); @@ -326,6 +329,7 @@ _bookmark_destroy(Bookmark *bookmark) free(bookmark->barejid); free(bookmark->nick); free(bookmark->password); + free(bookmark->name); free(bookmark); } } diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h index fa26cfbf..c06939cb 100644 --- a/src/xmpp/xmpp.h +++ b/src/xmpp/xmpp.h @@ -93,6 +93,7 @@ typedef struct bookmark_t { char *barejid; char *nick; char *password; + char *name; gboolean autojoin; } Bookmark; -- cgit 1.4.1-2-gfad0