summaryrefslogtreecommitdiff
path: root/src/irc/core/irc-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/core/irc-server.c')
-rw-r--r--src/irc/core/irc-server.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/irc/core/irc-server.c b/src/irc/core/irc-server.c
index a21d9a1f..6bfdff39 100644
--- a/src/irc/core/irc-server.c
+++ b/src/irc/core/irc-server.c
@@ -73,6 +73,7 @@ void irc_server_connect_free(IRC_SERVER_CONNECT_REC *rec)
static void server_init(IRC_SERVER_REC *server)
{
IRC_SERVER_CONNECT_REC *conn;
+ char hostname[100];
g_return_if_fail(server != NULL);
@@ -93,7 +94,12 @@ static void server_init(IRC_SERVER_REC *server)
/* send user/realname */
server->cmdcount = 0;
- irc_send_cmdv(server, "USER %s - - :%s", conn->username, conn->realname);
+
+ if (gethostname(hostname, sizeof(hostname)) != 0 || *hostname == '\0')
+ strcpy(hostname, "xx");
+
+ irc_send_cmdv(server, "USER %s %s %s :%s", conn->username, hostname,
+ server->connrec->address, conn->realname);
server->cmdcount = 0;
}