diff options
Diffstat (limited to 'irc.c')
| -rw-r--r-- | irc.c | 20 | 
1 files changed, 17 insertions, 3 deletions
| @@ -31,9 +31,9 @@ static gboolean irc_userping( gpointer _irc );  GSList *irc_connection_list = NULL; -char *passchange (irc_t *irc, void *set, char *value)  +static char *passchange (irc_t *irc, void *set, char *value)   { -	setpassnc (irc, value); +	irc_setpass (irc, value);  	return (NULL);  } @@ -160,7 +160,7 @@ void irc_free(irc_t * irc)  	log_message( LOGLVL_INFO, "Destroying connection with fd %d", irc->fd );  	if( irc->status >= USTATUS_IDENTIFIED && set_getint( irc, "save_on_quit" ) )  -		if( !bitlbee_save( irc ) ) +		if( !global.storage->save( irc, TRUE ) )  			irc_usermsg( irc, "Error while saving settings!" );  	if( irc->ping_source_id > 0 ) @@ -267,6 +267,20 @@ void irc_free(irc_t * irc)  		g_main_quit( global.loop );  } +/* USE WITH CAUTION! +   Sets pass without checking */ +void irc_setpass (irc_t *irc, const char *pass)  +{ +	if (irc->password) g_free (irc->password); +	 +	if (pass) { +		irc->password = g_strdup (pass); +		irc_usermsg (irc, "Password successfully changed"); +	} else { +		irc->password = NULL; +	} +} +  int irc_process( irc_t *irc )  {  	char **lines, *temp;	 | 
