pidgin: 74295d33: Wow, this isn't used. That will save us...

markdoliner at markdoliner at
Thu May 29 13:45:43 EDT 2008

Revision: 74295d3392f7f386b2178a9c8b571226b6a25c60
Ancestor: 4604a1b4f5a0af87939613abf115bb25b4a7c97f
Author: markdoliner at
Date: 2008-05-29T17:41:08
Branch: im.pidgin.pidgin

Modified files:


Wow, this isn't used.  That will save us either 4 bytes or 8 bytes for
each PurpleStatus, depending on whether you're on a 32 bit or 64 bit
OS.  We create a full set of PurpleStatuses (between 2 and maybe 10,
depending on the protocol) for each PurplePresence, and each buddy in
your buddylist has a PurplePresence.

Assuming you on a 64 bit machine, you have 200 buddies, and you're
using a protocol with 8 PurpleStatusTypes, this saves you 12KB of
memory.  Eh, I guess that's not so bad.

Our status system is pretty memory inefficient right now... we tend
to duplicate a lot of stuff from the PurpleStatusTypes unneccessarily.
I think we can probably get a way with NOT duplicating it and having
PurplePresence and PurpleStatus look through to the PurpleStatusTypes
as appropriate.  But it'll break our API a little, so we can't do it
until 3.0.0.

-------------- next part --------------
--- libpurple/status.c	25a57059f1557a35cfcafb10e16edc7006e85b91
+++ libpurple/status.c	2ee76141aed0a328a1438ed67a818bda7a350ffb
@@ -107,8 +107,6 @@ struct _PurpleStatus
 	PurpleStatusType *type;
 	PurplePresence *presence;
-	const char *title;
 	gboolean active;

More information about the Commits mailing list