Mercurial > pidgin.yaz
view src/protocols/novell/nmmessage.c @ 10457:0c020a10d5da
[gaim-migrate @ 11725]
Richard Laager writes:
This patch fixes a bug with the CSS handling in gtkimhtml
involving whitespace handling. Basically, it would accept things
like: "color: #FFFFFF" but not "color:#FFFFFF" or "color:
#FFFFFF" (more than one space). Really only the case without
spaces is of concern to me. However, I followed the coding
techniques of the rest of that section of code so it will end up
accepting multiple spaces as beneficial side effect.
When questioned as to why he needed this, he responded:
I wrote a plug-in to parse XML message histories from the official
MSN client. The styles saved in that file had no whitespace.
Initially I wrote a workaround in the plug-in, but I wanted to fix
the problem at the source.
committer: Tailor Script <tailor@pidgin.im>
author | Tim Ringenbach <marv@pidgin.im> |
---|---|
date | Thu, 30 Dec 2004 19:50:49 +0000 |
parents | 6663ad2386d9 |
children |
line wrap: on
line source
/* * nmmessage.c * * Copyright (c) 2004 Novell, Inc. All Rights Reserved. * * 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; version 2 of the License. * * 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 "nmmessage.h" struct _NMMessage { NMConference *conference; char *text; gpointer data; guint32 ref_count; }; /** Message API **/ NMMessage * nm_create_message(const char *text) { NMMessage *msg = g_new0(NMMessage, 1); if (text) msg->text = g_strdup(text); msg->ref_count = 1; return msg; } void nm_message_add_ref(NMMessage * msg) { if (msg) msg->ref_count++; } void nm_release_message(NMMessage * msg) { if (msg && (--(msg->ref_count) == 0)) { if (msg->text) g_free(msg->text); if (msg->conference) nm_release_conference(msg->conference); g_free(msg); } } const char * nm_message_get_text(NMMessage * msg) { if (msg == NULL) return NULL; return msg->text; } void nm_message_set_conference(NMMessage * msg, NMConference * conf) { if (msg == NULL || conf == NULL) return; /* Need to ref the conference first so that it doesn't * get released out from under us */ nm_conference_add_ref(conf); msg->conference = conf; } NMConference * nm_message_get_conference(NMMessage * msg) { if (msg == NULL) return NULL; return msg->conference; }