about summary refs log tree commit diff stats
path: root/src/ui/rosterwin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/rosterwin.c')
-rw-r--r--src/ui/rosterwin.c53
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");