aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/irc.c b/irc.c
index 9ce6eef6..5601e314 100644
--- a/irc.c
+++ b/irc.c
@@ -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);
}
@@ -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;