diff options
Diffstat (limited to 'protocols/nogaim.c')
| -rw-r--r-- | protocols/nogaim.c | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/protocols/nogaim.c b/protocols/nogaim.c index 21f7dcb1..c0d4a953 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -103,12 +103,23 @@ void register_protocol (struct prpl *p)  struct prpl *find_protocol(const char *name)  {  	GList *gl; -	for (gl = protocols; gl; gl = gl->next)  +	 +	for( gl = protocols; gl; gl = gl->next )   	{   		struct prpl *proto = gl->data; - 		if(!g_strcasecmp(proto->name, name))  + 		 + 		if( g_strcasecmp( proto->name, name ) == 0 ) +			return proto; + +#ifdef WITH_PURPLE +		/* I know, hardcoding is evil, but that doesn't make it +		   impossible. :-) */ +		if( g_strncasecmp( proto->name, "prpl-", 5 ) == 0 && +		    g_strcasecmp( proto->name + 5, name ) == 0 )  			return proto; +#endif   	} + 	   	return NULL;  } @@ -119,6 +130,7 @@ void nogaim_init()  	extern void oscar_initmodule();  	extern void byahoo_initmodule();  	extern void jabber_initmodule(); +	extern void purple_initmodule();  #ifdef WITH_MSN  	msn_initmodule(); @@ -135,6 +147,10 @@ void nogaim_init()  #ifdef WITH_JABBER  	jabber_initmodule();  #endif +	 +#ifdef WITH_PURPLE +	purple_initmodule(); +#endif  #ifdef WITH_PLUGINS  	load_plugins(); | 
