aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/bee.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/bee.c')
-rw-r--r--protocols/bee.c94
1 files changed, 48 insertions, 46 deletions
diff --git a/protocols/bee.c b/protocols/bee.c
index 887d1560..3a7dbbad 100644
--- a/protocols/bee.c
+++ b/protocols/bee.c
@@ -1,4 +1,4 @@
- /********************************************************************\
+/********************************************************************\
* BitlBee -- An IRC to other IM-networks gateway *
* *
* Copyright 2002-2010 Wilmer van der Gaast and others *
@@ -26,71 +26,73 @@
#define BITLBEE_CORE
#include "bitlbee.h"
-static char *set_eval_away_status( set_t *set, char *value );
+static char *set_eval_away_status(set_t *set, char *value);
bee_t *bee_new()
{
- bee_t *b = g_new0( bee_t, 1 );
+ bee_t *b = g_new0(bee_t, 1);
set_t *s;
-
- s = set_add( &b->set, "auto_connect", "true", set_eval_bool, b );
- s = set_add( &b->set, "auto_reconnect", "true", set_eval_bool, b );
- s = set_add( &b->set, "auto_reconnect_delay", "5*3<900", set_eval_account_reconnect_delay, b );
- s = set_add( &b->set, "away", NULL, set_eval_away_status, b );
+
+ s = set_add(&b->set, "auto_connect", "true", set_eval_bool, b);
+ s = set_add(&b->set, "auto_reconnect", "true", set_eval_bool, b);
+ s = set_add(&b->set, "auto_reconnect_delay", "5*3<900", set_eval_account_reconnect_delay, b);
+ s = set_add(&b->set, "away", NULL, set_eval_away_status, b);
s->flags |= SET_NULL_OK | SET_HIDDEN;
- s = set_add( &b->set, "debug", "false", set_eval_bool, b );
- s = set_add( &b->set, "mobile_is_away", "false", set_eval_bool, b );
- s = set_add( &b->set, "save_on_quit", "true", set_eval_bool, b );
- s = set_add( &b->set, "status", NULL, set_eval_away_status, b );
+ s = set_add(&b->set, "debug", "false", set_eval_bool, b);
+ s = set_add(&b->set, "mobile_is_away", "false", set_eval_bool, b);
+ s = set_add(&b->set, "save_on_quit", "true", set_eval_bool, b);
+ s = set_add(&b->set, "status", NULL, set_eval_away_status, b);
s->flags |= SET_NULL_OK;
- s = set_add( &b->set, "strip_html", "true", NULL, b );
-
- b->user = g_malloc( 1 );
-
+ s = set_add(&b->set, "strip_html", "true", NULL, b);
+
+ b->user = g_malloc(1);
+
return b;
}
-void bee_free( bee_t *b )
+void bee_free(bee_t *b)
{
- while( b->accounts )
- {
- if( b->accounts->ic )
- imc_logout( b->accounts->ic, FALSE );
- else if( b->accounts->reconnect )
- cancel_auto_reconnect( b->accounts );
-
- if( b->accounts->ic == NULL )
- account_del( b, b->accounts );
- else
+ while (b->accounts) {
+ if (b->accounts->ic) {
+ imc_logout(b->accounts->ic, FALSE);
+ } else if (b->accounts->reconnect) {
+ cancel_auto_reconnect(b->accounts);
+ }
+
+ if (b->accounts->ic == NULL) {
+ account_del(b, b->accounts);
+ } else {
/* Nasty hack, but account_del() doesn't work in this
case and we don't want infinite loops, do we? ;-) */
b->accounts = b->accounts->next;
+ }
+ }
+
+ while (b->set) {
+ set_del(&b->set, b->set->key);
}
-
- while( b->set )
- set_del( &b->set, b->set->key );
-
- bee_group_free( b );
-
- g_free( b->user );
- g_free( b );
+
+ bee_group_free(b);
+
+ g_free(b->user);
+ g_free(b);
}
-static char *set_eval_away_status( set_t *set, char *value )
+static char *set_eval_away_status(set_t *set, char *value)
{
bee_t *bee = set->data;
account_t *a;
-
- g_free( set->value );
- set->value = g_strdup( value );
-
- for( a = bee->accounts; a; a = a->next )
- {
+
+ g_free(set->value);
+ set->value = g_strdup(value);
+
+ for (a = bee->accounts; a; a = a->next) {
struct im_connection *ic = a->ic;
-
- if( ic && ic->flags & OPT_LOGGED_IN )
- imc_away_send_update( ic );
+
+ if (ic && ic->flags & OPT_LOGGED_IN) {
+ imc_away_send_update(ic);
+ }
}
-
+
return value;
}