Mercurial > pidgin
view src/protocols/msn/utils.c @ 8071:4dede940939c
[gaim-migrate @ 8769]
(22:19:37) deryni: LSchiere2: yay, you have commit access, want to fix gaim_blist_node_set_int? setting->type = GAIM_BLIST_NODE_SETTING_STRING; to setting->type = GAIM_BLIST_NODE_SETTING_INT; unless I'm missing something.
(22:19:56) marv: Sean should be careful, I not really sure, but it sounds like that lucus guy might be decompiling too.
(22:19:58) LSchiere2: deryni: what in the world are you talking about?
(22:20:14) deryni: LSchiere2: sorry, let's try this slower
(22:20:26) deryni: I think gaim_blist_node_set_int in blist.c is broken
(22:21:30) deryni: I think the "setting->type = " is wrong, should be _SETTING_INT not _SETTING_STRING
(22:22:03) LSchiere2: deryni: that's where you loose me. where am i looking?
(22:22:26) deryni: line 2570 here
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Sun, 11 Jan 2004 03:23:55 +0000 |
| parents | 67f9b43c402a |
| children | 06f57183e29f |
line wrap: on
line source
/** * @file utils.c Utility functions * * gaim * * Copyright (C) 2003 Christian Hammond <chipx86@gnupdate.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "msn.h" void msn_parse_format(const char *mime, char **pre_ret, char **post_ret) { char *cur; GString *pre = g_string_new(NULL); GString *post = g_string_new(NULL); unsigned int colors[3]; if (pre_ret != NULL) *pre_ret = NULL; if (post_ret != NULL) *post_ret = NULL; cur = strstr(mime, "FN="); if (cur && (*(cur = cur + 3) != ';')) { pre = g_string_append(pre, "<FONT FACE=\""); while (*cur && *cur != ';') { pre = g_string_append_c(pre, *cur); cur++; } pre = g_string_append(pre, "\">"); post = g_string_prepend(post, "</FONT>"); } cur = strstr(mime, "EF="); if (cur && (*(cur = cur + 3) != ';')) { while (*cur && *cur != ';') { pre = g_string_append_c(pre, '<'); pre = g_string_append_c(pre, *cur); pre = g_string_append_c(pre, '>'); cur++; } } cur = strstr(mime, "CO="); if (cur && (*(cur = cur + 3) != ';')) { int i; i = sscanf(cur, "%02x%02x%02x;", &colors[0], &colors[1], &colors[2]); if (i > 0) { char tag[64]; if (i == 1) { colors[2] = colors[0]; colors[1] = 0; colors[0] = 0; } else if (i == 2) { colors[2] = colors[1]; colors[1] = colors[0]; colors[0] = 0; } g_snprintf(tag, sizeof(tag), "<FONT COLOR=\"#%02hhx%02hhx%02hhx\">", colors[2], colors[1], colors[0]); pre = g_string_append(pre, tag); post = g_string_prepend(post, "</FONT>"); } } cur = g_strdup(gaim_url_decode(pre->str)); g_string_free(pre, TRUE); if (pre_ret != NULL) *pre_ret = cur; else g_free(cur); cur = g_strdup(gaim_url_decode(post->str)); g_string_free(post, TRUE); if (post_ret != NULL) *post_ret = cur; else g_free(cur); }
