mcabber/src/jabglue.c
changeset 587 1b773c760a99
parent 586 d8f64e74206c
child 589 9942746e8d58
equal deleted inserted replaced
586:d8f64e74206c 587:1b773c760a99
   934     // The message depends on _who_ left, and _how_
   934     // The message depends on _who_ left, and _how_
   935     if (how) {
   935     if (how) {
   936       gchar *mbuf_end;
   936       gchar *mbuf_end;
   937       // Forced leave
   937       // Forced leave
   938       if (actorjid) {
   938       if (actorjid) {
       
   939         gchar *rsn_noutf8 = from_utf8(reason);
       
   940         if (!rsn_noutf8 && reason)
       
   941           scr_LogPrint(LPRINT_LOGNORM, "UTF-8 decoding of reason has failed");
   939         mbuf_end = g_strdup_printf("%s from %s by <%s>.\nReason: %s",
   942         mbuf_end = g_strdup_printf("%s from %s by <%s>.\nReason: %s",
   940                                    (how == ban ? "banned" : "kicked"),
   943                                    (how == ban ? "banned" : "kicked"),
   941                                    roomjid, actorjid,
   944                                    roomjid, actorjid,
   942                                    (reason ? reason : "None given"));
   945                                    (rsn_noutf8 ? rsn_noutf8 : "None given"));
       
   946         if (rsn_noutf8)
       
   947           g_free(rsn_noutf8);
   943       } else {
   948       } else {
   944         mbuf_end = g_strdup_printf("%s from %s.",
   949         mbuf_end = g_strdup_printf("%s from %s.",
   945                                    (how == ban ? "banned" : "kicked"),
   950                                    (how == ban ? "banned" : "kicked"),
   946                                    roomjid);
   951                                    roomjid);
   947       }
   952       }