diff options
author | Michael Vetter <jubalh@iodoru.org> | 2021-10-22 17:08:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-22 17:08:14 +0200 |
commit | 56846a5b777628cf355b70fcc4738bfe95bd264a (patch) | |
tree | 75226b3fef45708bab22e3a27c80b7ba5b5f34a8 /src/ui/rosterwin.c | |
parent | ab5ee11c669d62ab8db75db338daab44a93563f0 (diff) | |
parent | cc206ee8cc2cf8458325337f2e68b0dd11b95afd (diff) | |
download | profani-tty-56846a5b777628cf355b70fcc4738bfe95bd264a.tar.gz |
Merge pull request #1607 from profanity-im/utf8indicatorchar
Allow more UI indicator signs to be utf8 "characters"
Diffstat (limited to 'src/ui/rosterwin.c')
-rw-r--r-- | src/ui/rosterwin.c | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/src/ui/rosterwin.c b/src/ui/rosterwin.c index 5c41fc82..5d368253 100644 --- a/src/ui/rosterwin.c +++ b/src/ui/rosterwin.c @@ -314,9 +314,10 @@ _rosterwin_unsubscribed_item(ProfLayoutSplit* layout, ProfChatWin* chatwin) indent--; } } - char ch = prefs_get_roster_contact_char(); + char *ch = prefs_get_roster_contact_char(); if (ch) { - g_string_append_printf(msg, "%c", ch); + g_string_append_printf(msg, "%s", ch); + free(ch); } char* unreadpos = prefs_get_string(PREF_ROSTER_UNREAD); @@ -376,9 +377,10 @@ _rosterwin_contact(ProfLayoutSplit* layout, PContact contact) indent--; } } - char ch = prefs_get_roster_contact_char(); + char *ch = prefs_get_roster_contact_char(); if (ch) { - g_string_append_printf(msg, "%c", ch); + g_string_append_printf(msg, "%s", ch); + free(ch); } char* unreadpos = prefs_get_string(PREF_ROSTER_UNREAD); @@ -527,9 +529,10 @@ _rosterwin_resources(ProfLayoutSplit* layout, PContact contact, int current_inde wattron(layout->subwin, theme_attrs(resource_presence_colour)); GString* msg = g_string_new(""); - char ch = prefs_get_roster_resource_char(); + char* ch = prefs_get_roster_resource_char(); if (ch) { - g_string_append_printf(msg, "%c", ch); + g_string_append_printf(msg, "%s", ch); + free(ch); } else { g_string_append(msg, " "); } @@ -590,9 +593,10 @@ _rosterwin_resources(ProfLayoutSplit* layout, PContact contact, int current_inde g_string_append(msg, " "); this_indent--; } - char ch = prefs_get_roster_resource_char(); + char* ch = prefs_get_roster_resource_char(); if (ch) { - g_string_append_printf(msg, "%c", ch); + g_string_append_printf(msg, "%s", ch); + free(ch); } g_string_append(msg, resource->name); if (prefs_get_boolean(PREF_ROSTER_PRIORITY)) { @@ -752,9 +756,10 @@ _rosterwin_room(ProfLayoutSplit* layout, ProfMucWin* mucwin) indent--; } } - char ch = prefs_get_roster_room_char(); + char* ch = prefs_get_roster_room_char(); if (ch) { - g_string_append_printf(msg, "%c", ch); + g_string_append_printf(msg, "%s", ch); + free(ch); } char* unreadpos = prefs_get_string(PREF_ROSTER_ROOMS_UNREAD); @@ -854,7 +859,8 @@ _rosterwin_room(ProfLayoutSplit* layout, ProfMucWin* mucwin) ch = prefs_get_roster_room_private_char(); if (ch) { - g_string_append_printf(privmsg, "%c", ch); + g_string_append_printf(privmsg, "%s", ch); + free(ch); } char* nick = privwin->fulljid + strlen(mucwin->roomjid) + 1; @@ -947,9 +953,10 @@ _rosterwin_private_chats(ProfLayoutSplit* layout, GList* orphaned_privchats) g_string_append_printf(privmsg, "(%d) ", privwin->unread); } - char ch = prefs_get_roster_private_char(); + char* ch = prefs_get_roster_private_char(); if (ch) { - g_string_append_printf(privmsg, "%c", ch); + g_string_append_printf(privmsg, "%s", ch); + free(ch); } g_string_append(privmsg, privwin->fulljid); @@ -1028,9 +1035,10 @@ _rosterwin_unsubscribed_header(ProfLayoutSplit* layout, GList* wins) win_sub_newline_lazy(layout->subwin); GString* header = g_string_new(" "); - char ch = prefs_get_roster_header_char(); + char* ch = prefs_get_roster_header_char(); if (ch) { - g_string_append_printf(header, "%c", ch); + g_string_append_printf(header, "%s", ch); + free(ch); } g_string_append(header, "Unsubscribed"); @@ -1074,9 +1082,10 @@ _rosterwin_contacts_header(ProfLayoutSplit* layout, const char* const title, GSL win_sub_newline_lazy(layout->subwin); GString* header = g_string_new(" "); - char ch = prefs_get_roster_header_char(); + char* ch = prefs_get_roster_header_char(); if (ch) { - g_string_append_printf(header, "%c", ch); + g_string_append_printf(header, "%s", ch); + free(ch); } g_string_append(header, title); @@ -1125,9 +1134,10 @@ _rosterwin_rooms_header(ProfLayoutSplit* layout, GList* rooms, char* title) { win_sub_newline_lazy(layout->subwin); GString* header = g_string_new(" "); - char ch = prefs_get_roster_header_char(); + char* ch = prefs_get_roster_header_char(); if (ch) { - g_string_append_printf(header, "%c", ch); + g_string_append_printf(header, "%s", ch); + free(ch); } g_string_append(header, title); @@ -1188,9 +1198,10 @@ _rosterwin_private_header(ProfLayoutSplit* layout, GList* privs) win_sub_newline_lazy(layout->subwin); GString* title_str = g_string_new(" "); - char ch = prefs_get_roster_header_char(); + char* ch = prefs_get_roster_header_char(); if (ch) { - g_string_append_printf(title_str, "%c", ch); + g_string_append_printf(title_str, "%s", ch); + free(ch); } g_string_append(title_str, "Private chats"); |