adium: 1e356233: C89-ify. Use g_list_prepend instead of g...

Ethan Blanton elb at
Tue Apr 14 23:09:25 EDT 2009

Zachary West spake unto us the following wisdom:
> I'm also looking at making the "in_room" list something else; it's
> *incredibly* costly to look up an individual chat buddy based on their
> name, which is done all over the place (in what I'm attempting to do),
> especially for larger chat rooms. This will require killing a few
> public API functions (such as setting the purple_conv_chat_set_users,
> which directly sets the GList).

Note that at one point in time we had this issue with the buddy list,
and thus created a hash table that mirrors the list for the purpose of
O(1) buddy lookups.  You might want to employ something similar -- and
it might be usable upstream.

> I'm also not really (at _all_) familiar with libpurple code, so I
> don't want to push something hugely bad into im.pidgin.pidgin itself.

If you're not confident pushing yourself, you can create a patch on
the Pidgin trac, or come find one of us on IRC.  We'd be happy to
help.  Reducing Adium's need for divergence with upstream libpurple is
a goal I think we all share.


The laws that forbid the carrying of arms are laws [that have no remedy
for evils].  They disarm only those who are neither inclined nor
determined to commit crimes.
		-- Cesare Beccaria, "On Crimes and Punishments", 1764
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <>

More information about the Devel mailing list