Index: protocols/nogaim.c
===================================================================
--- protocols/nogaim.c	(revision fd037705664ea03d7a0574c44161ae03b000fb2c)
+++ protocols/nogaim.c	(revision 5c9512ffa716f2bc8bbf9e2c31ee40624a0ff842)
@@ -220,6 +220,6 @@
 	va_end( params );
 
-	if( ( g_strcasecmp( set_getstr( gc->irc, "strip_html" ), "always" ) == 0 ) ||
-	    ( ( gc->flags & OPT_CONN_HTML ) && set_getint( gc->irc, "strip_html" ) ) )
+	if( ( g_strcasecmp( set_getstr( &gc->irc->set, "strip_html" ), "always" ) == 0 ) ||
+	    ( ( gc->flags & OPT_CONN_HTML ) && set_getint( &gc->irc->set, "strip_html" ) ) )
 		strip_html( text );
 	
@@ -324,7 +324,7 @@
 		/* Uhm... This is very sick. */
 	}
-	else if( !gc->wants_to_die && set_getint( irc, "auto_reconnect" ) )
-	{
-		int delay = set_getint( irc, "auto_reconnect_delay" );
+	else if( !gc->wants_to_die && set_getint( &irc->set, "auto_reconnect" ) )
+	{
+		int delay = set_getint( &irc->set, "auto_reconnect_delay" );
 		
 		serv_got_crap( gc, "Reconnecting in %d seconds..", delay );
@@ -365,10 +365,10 @@
 	irc_t *irc = gc->irc;
 	
-	if( set_getint( irc, "debug" ) && 0 ) /* This message is too useless */
+	if( set_getint( &irc->set, "debug" ) && 0 ) /* This message is too useless */
 		serv_got_crap( gc, "Receiving user add from handle: %s", handle );
 	
 	if( user_findhandle( gc, handle ) )
 	{
-		if( set_getint( irc, "debug" ) )
+		if( set_getint( &irc->set, "debug" ) )
 			serv_got_crap( gc, "User already exists, ignoring add request: %s", handle );
 		
@@ -458,5 +458,5 @@
 		u->realname = g_strdup( realname );
 		
-		if( ( gc->flags & OPT_LOGGED_IN ) && set_getint( gc->irc, "display_namechanges" ) )
+		if( ( gc->flags & OPT_LOGGED_IN ) && set_getint( &gc->irc->set, "display_namechanges" ) )
 			serv_got_crap( gc, "User `%s' changed name to `%s'", u->nick, u->realname );
 	}
@@ -514,5 +514,5 @@
 	if( !u )
 	{
-		if( g_strcasecmp( set_getstr( gc->irc, "handle_unknown" ), "add" ) == 0 )
+		if( g_strcasecmp( set_getstr( &gc->irc->set, "handle_unknown" ), "add" ) == 0 )
 		{
 			add_buddy( gc, NULL, handle, NULL );
@@ -521,5 +521,5 @@
 		else
 		{
-			if( set_getint( gc->irc, "debug" ) || g_strcasecmp( set_getstr( gc->irc, "handle_unknown" ), "ignore" ) != 0 )
+			if( set_getint( &gc->irc->set, "debug" ) || g_strcasecmp( set_getstr( &gc->irc->set, "handle_unknown" ), "ignore" ) != 0 )
 			{
 				serv_got_crap( gc, "serv_got_update() for handle %s:", handle );
@@ -580,5 +580,5 @@
 	
 	/* LISPy... */
-	if( ( set_getint( gc->irc, "away_devoice" ) ) &&		/* Don't do a thing when user doesn't want it */
+	if( ( set_getint( &gc->irc->set, "away_devoice" ) ) &&		/* Don't do a thing when user doesn't want it */
 	    ( u->online ) &&						/* Don't touch offline people */
 	    ( ( ( u->online != oo ) && !u->away ) ||			/* Voice joining people */
@@ -599,9 +599,9 @@
 	if( !u )
 	{
-		char *h = set_getstr( irc, "handle_unknown" );
+		char *h = set_getstr( &irc->set, "handle_unknown" );
 		
 		if( g_strcasecmp( h, "ignore" ) == 0 )
 		{
-			if( set_getint( irc, "debug" ) )
+			if( set_getint( &irc->set, "debug" ) )
 				serv_got_crap( gc, "Ignoring message from unknown handle %s", handle );
 			
@@ -610,5 +610,5 @@
 		else if( g_strncasecmp( h, "add", 3 ) == 0 )
 		{
-			int private = set_getint( irc, "private" );
+			int private = set_getint( &irc->set, "private" );
 			
 			if( h[3] )
@@ -631,6 +631,6 @@
 	}
 	
-	if( ( g_strcasecmp( set_getstr( gc->irc, "strip_html" ), "always" ) == 0 ) ||
-	    ( ( gc->flags & OPT_CONN_HTML ) && set_getint( gc->irc, "strip_html" ) ) )
+	if( ( g_strcasecmp( set_getstr( &gc->irc->set, "strip_html" ), "always" ) == 0 ) ||
+	    ( ( gc->flags & OPT_CONN_HTML ) && set_getint( &gc->irc->set, "strip_html" ) ) )
 		strip_html( msg );
 
@@ -672,5 +672,5 @@
 	user_t *u;
 	
-	if( !set_getint( gc->irc, "typing_notice" ) )
+	if( !set_getint( &gc->irc->set, "typing_notice" ) )
 		return;
 	
@@ -694,5 +694,5 @@
 	GList *ir;
 	
-	if( set_getint( gc->irc, "debug" ) )
+	if( set_getint( &gc->irc->set, "debug" ) )
 		serv_got_crap( gc, "You were removed from conversation %d", (int) id );
 	
@@ -739,6 +739,6 @@
 	for( c = gc->conversations; c && c->id != id; c = c->next );
 	
-	if( ( g_strcasecmp( set_getstr( gc->irc, "strip_html" ), "always" ) == 0 ) ||
-	    ( ( gc->flags & OPT_CONN_HTML ) && set_getint( gc->irc, "strip_html" ) ) )
+	if( ( g_strcasecmp( set_getstr( &gc->irc->set, "strip_html" ), "always" ) == 0 ) ||
+	    ( ( gc->flags & OPT_CONN_HTML ) && set_getint( &gc->irc->set, "strip_html" ) ) )
 		strip_html( msg );
 	
@@ -773,5 +773,5 @@
 	g_free( s );
 	
-	if( set_getint( gc->irc, "debug" ) )
+	if( set_getint( &gc->irc->set, "debug" ) )
 		serv_got_crap( gc, "Creating new conversation: (id=%d,handle=%s)", id, handle );
 	
@@ -787,5 +787,5 @@
 	int me = 0;
 	
-	if( set_getint( b->gc->irc, "debug" ) )
+	if( set_getint( &b->gc->irc->set, "debug" ) )
 		serv_got_crap( b->gc, "User %s added to conversation %d", handle, b->id );
 	
@@ -821,5 +821,5 @@
 	int me = 0;
 	
-	if( set_getint( b->gc->irc, "debug" ) )
+	if( set_getint( &b->gc->irc->set, "debug" ) )
 		serv_got_crap( b->gc, "User %s removed from conversation %d (%s)", handle, b->id, reason ? reason : "" );
 	
@@ -883,6 +883,7 @@
 }
 
-char *set_eval_away_devoice( irc_t *irc, set_t *set, char *value )
-{
+char *set_eval_away_devoice( set_t *set, char *value )
+{
+	irc_t *irc = set->data;
 	int st;
 	
@@ -898,5 +899,5 @@
 	/* Horror.... */
 	
-	if( st != set_getint( irc, "away_devoice" ) )
+	if( st != set_getint( &irc->set, "away_devoice" ) )
 	{
 		char list[80] = "";
@@ -938,5 +939,5 @@
 	}
 	
-	return( set_eval_bool( irc, set, value ) );
+	return( set_eval_bool( set, value ) );
 }
 
@@ -1018,5 +1019,5 @@
 		{
 			gc->prpl->set_away( gc, s, away );
-			if( set_getint( gc->irc, "debug" ) )
+			if( set_getint( &gc->irc->set, "debug" ) )
 				serv_got_crap( gc, "Setting away state to %s", s );
 		}
Index: protocols/nogaim.h
===================================================================
--- protocols/nogaim.h	(revision fd037705664ea03d7a0574c44161ae03b000fb2c)
+++ protocols/nogaim.h	(revision 5c9512ffa716f2bc8bbf9e2c31ee40624a0ff842)
@@ -206,5 +206,5 @@
 
 void nogaim_init();
-char *set_eval_away_devoice( irc_t *irc, set_t *set, char *value );
+char *set_eval_away_devoice( set_t *set, char *value );
 
 gboolean auto_reconnect( gpointer data, gint fd, b_input_condition cond );
