Mercurial > pidgin.yaz
diff src/prpl.c @ 1000:91b7377e7b45
[gaim-migrate @ 1010]
Plugins work again, I think. There may still be some bugginess.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Mon, 16 Oct 2000 20:11:18 +0000 |
parents | 7e231bc0018a |
children | 17cea517fd90 |
line wrap: on
line diff
--- a/src/prpl.c Sun Oct 15 03:55:23 2000 +0000 +++ b/src/prpl.c Mon Oct 16 20:11:18 2000 +0000 @@ -20,8 +20,9 @@ */ #include "prpl.h" -extern struct prpl *toc_init(); -extern struct prpl *oscar_init(); + +extern void toc_init(struct prpl *); +extern void oscar_init(struct prpl *); GSList *protocols = NULL; @@ -40,10 +41,20 @@ return NULL; } +void load_protocol(proto_init pi) +{ + struct prpl *p = g_new0(struct prpl, 1); + pi(p); + if (find_prpl(p->protocol)) + g_free(p); + else + protocols = g_slist_append(protocols, p); +} + void static_proto_init() { - protocols = g_slist_append(protocols, toc_init()); + load_protocol(toc_init); #ifndef DYNAMIC_OSCAR - protocols = g_slist_append(protocols, oscar_init()); + load_protocol(oscar_init); #endif }