comparison src/conversation.c @ 2918:4df759d607f3

[gaim-migrate @ 2931] this was a bad hack. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sat, 22 Dec 2001 08:08:37 +0000
parents 4254491c722b
children dd71bb88bc58
comparison
equal deleted inserted replaced
2917:93e2c99ccf50 2918:4df759d607f3
1149 } 1149 }
1150 } 1150 }
1151 g_free(s); 1151 g_free(s);
1152 } 1152 }
1153 1153
1154 static char *escape_html(char *w, int *l)
1155 {
1156 int c = 0;
1157 char *r;
1158 int i, x = 0;
1159 if (*l == -1) {
1160 *l = strlen(w);
1161 x = 1;
1162 }
1163 r = g_malloc(*l * 5 + 1);
1164
1165 for (i = 0; i < *l; i++) {
1166 if (w[i] == '<') {
1167 r[c++] = '&';
1168 r[c++] = 'l';
1169 r[c++] = 't';
1170 r[c++] = ';';
1171 } else if (w[i] == '&') {
1172 r[c++] = '&';
1173 r[c++] = 'a';
1174 r[c++] = 'm';
1175 r[c++] = 'p';
1176 r[c++] = ';';
1177 } else {
1178 r[c++] = w[i];
1179 }
1180 }
1181 r[c] = 0;
1182
1183 r = g_realloc(r, c + 1);
1184 if (x)
1185 *l = -1;
1186 else
1187 *l = c;
1188 return r;
1189 }
1190
1191 static char *html_logize(char *p) 1154 static char *html_logize(char *p)
1192 { 1155 {
1193 1156
1194 char *temp_p = p; 1157 char *temp_p = p;
1195 char *buffer_p; 1158 char *buffer_p;
1590 } 1553 }
1591 } else if (flags & WFLAG_NOLOG) { 1554 } else if (flags & WFLAG_NOLOG) {
1592 g_snprintf(buf, BUF_LONG, "<B><FONT COLOR=\"#777777\">%s</FONT></B><BR>", what); 1555 g_snprintf(buf, BUF_LONG, "<B><FONT COLOR=\"#777777\">%s</FONT></B><BR>", what);
1593 gtk_imhtml_append_text(GTK_IMHTML(c->text), buf, -1, 0); 1556 gtk_imhtml_append_text(GTK_IMHTML(c->text), buf, -1, 0);
1594 } else { 1557 } else {
1595 if (c->gc->flags & OPT_CONN_SHOW_HTML)
1596 what = g_memdup(what, length == -1 ? strlen(what) + 1 : length);
1597 else
1598 what = escape_html(what, &length);
1599 if (flags & WFLAG_WHISPER) { 1558 if (flags & WFLAG_WHISPER) {
1600 /* if we're whispering, it's not an autoresponse */ 1559 /* if we're whispering, it's not an autoresponse */
1601 if (meify(what, length)) { 1560 if (meify(what, length)) {
1602 str = g_malloc(1024); 1561 str = g_malloc(1024);
1603 g_snprintf(str, 1024, "***%s", who); 1562 g_snprintf(str, 1024, "***%s", who);
1700 } 1659 }
1701 g_free(t1); 1660 g_free(t1);
1702 g_free(t2); 1661 g_free(t2);
1703 g_free(nm); 1662 g_free(nm);
1704 } 1663 }
1705
1706 g_free(what);
1707 } 1664 }
1708 1665
1709 if ((c->is_chat && (chat_options & OPT_CHAT_POPUP)) || 1666 if ((c->is_chat && (chat_options & OPT_CHAT_POPUP)) ||
1710 (!c->is_chat && (im_options & OPT_IM_POPUP))) 1667 (!c->is_chat && (im_options & OPT_IM_POPUP)))
1711 gdk_window_show(c->window->window); 1668 gdk_window_show(c->window->window);