summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/common/ctcp.c2
-rw-r--r--src/common/outbound.c6
-rw-r--r--src/common/outbound.h2
-rw-r--r--src/fe-gtk/maingui.c2
-rw-r--r--src/fe-gtk/menu.c12
5 files changed, 16 insertions, 8 deletions
diff --git a/src/common/ctcp.c b/src/common/ctcp.c
index d02355cf..ebfb604d 100644
--- a/src/common/ctcp.c
+++ b/src/common/ctcp.c
@@ -48,7 +48,7 @@ ctcp_reply (session *sess, char *nick, char *word[], char *word_eol[],
 	/* process %C %B etc */
 	check_special_chars (conf, TRUE);
 	auto_insert (tbuf, sizeof (tbuf), conf, word, word_eol, "", "", word_eol[5],
-					 server_get_network (sess->server, TRUE), "", "", nick);
+					 server_get_network (sess->server, TRUE), "", "", nick, "");
 	free (conf);
 	handle_command (sess, tbuf, FALSE);
 }
diff --git a/src/common/outbound.c b/src/common/outbound.c
index c3325f7c..082ba812 100644
--- a/src/common/outbound.c
+++ b/src/common/outbound.c
@@ -3856,7 +3856,7 @@ help (session *sess, char *tbuf, char *helpcmd, int quiet)
 int
 auto_insert (char *dest, int destlen, unsigned char *src, char *word[],
 				 char *word_eol[], char *a, char *c, char *d, char *e, char *h,
-				 char *n, char *s)
+				 char *n, char *s, char *u)
 {
 	int num;
 	char buf[32];
@@ -3953,6 +3953,8 @@ auto_insert (char *dest, int destlen, unsigned char *src, char *word[],
 					utf = ctime (&now);
 					utf[19] = 0;
 					break;
+				case 'u':
+					utf = u; break;
 				case 'v':
 					utf = PACKAGE_VERSION; break;
 					break;
@@ -4172,7 +4174,7 @@ user_command (session * sess, char *tbuf, char *cmd, char *word[],
 {
 	if (!auto_insert (tbuf, 2048, cmd, word, word_eol, "", sess->channel, "",
 							server_get_network (sess->server, TRUE), "",
-							sess->server->nick, ""))
+							sess->server->nick, "", ""))
 	{
 		PrintText (sess, _("Bad arguments for user command.\n"));
 		return;
diff --git a/src/common/outbound.h b/src/common/outbound.h
index 6f45b121..7dc1ba97 100644
--- a/src/common/outbound.h
+++ b/src/common/outbound.h
@@ -24,7 +24,7 @@ extern const struct commands xc_cmds[];
 extern GSList *menu_list;
 
 int auto_insert (char *dest, int destlen, unsigned char *src, char *word[], char *word_eol[],
-				 char *a, char *c, char *d, char *e, char *h, char *n, char *s);
+				 char *a, char *c, char *d, char *e, char *h, char *n, char *s, char *u);
 int handle_command (session *sess, char *cmd, int check_spch);
 void process_data_init (char *buf, char *cmd, char *word[], char *word_eol[], gboolean handle_quotes, gboolean allow_escape_quotes);
 void handle_multiline (session *sess, char *cmd, int history, int nocommand);
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c
index 816a93f7..e8479904 100644
--- a/src/fe-gtk/maingui.c
+++ b/src/fe-gtk/maingui.c
@@ -2141,7 +2141,7 @@ mg_dialog_button_cb (GtkWidget *wid, char *cmd)
 
 	auto_insert (buf, sizeof (buf), cmd, 0, 0, "", "", "",
 					 server_get_network (current_sess->server, TRUE), host, "",
-					 current_sess->channel);
+					 current_sess->channel, "");
 
 	handle_command (current_sess, buf, TRUE);
 
diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c
index fa7d5790..521ba362 100644
--- a/src/fe-gtk/menu.c
+++ b/src/fe-gtk/menu.c
@@ -113,6 +113,7 @@ nick_command_parse (session *sess, char *cmd, char *nick, char *allnick)
 {
 	char *buf;
 	char *host = _("Host unknown");
+	char *account = _("Account unknown");
 	struct User *user;
 	int len;
 
@@ -125,8 +126,13 @@ nick_command_parse (session *sess, char *cmd, char *nick, char *allnick)
 	} else*/
 	{
 		user = userlist_find (sess, nick);
-		if (user && user->hostname)
-			host = strchr (user->hostname, '@') + 1;
+		if (user)
+		{
+			if (user->hostname)
+				host = strchr (user->hostname, '@') + 1;
+			if (user->account)
+				account = user->account;
+		}
 	}
 
 	/* this can't overflow, since popup->cmd is only 256 */
@@ -135,7 +141,7 @@ nick_command_parse (session *sess, char *cmd, char *nick, char *allnick)
 
 	auto_insert (buf, len, cmd, 0, 0, allnick, sess->channel, "",
 					 server_get_network (sess->server, TRUE), host,
-					 sess->server->nick, nick);
+					 sess->server->nick, nick, account);
 
 	nick_command (sess, buf);