parent
1daf23d8a5
commit
9f17adce80
11
chat.c
11
chat.c
|
@ -167,7 +167,6 @@ static void uiChat(const char *line) {
|
|||
waddch(ui.chat, '\n');
|
||||
uiAdd(ui.chat, line);
|
||||
}
|
||||
|
||||
static void uiFmt(const char *format, ...) {
|
||||
char *buf;
|
||||
va_list ap;
|
||||
|
@ -194,6 +193,7 @@ static struct {
|
|||
struct tls *tls;
|
||||
bool verbose;
|
||||
char *nick;
|
||||
char *user;
|
||||
char *chan;
|
||||
} client;
|
||||
|
||||
|
@ -247,6 +247,10 @@ static void handleJoin(char *prefix, char *params) {
|
|||
char *nick = prift(&prefix);
|
||||
char *user = prift(&prefix);
|
||||
char *chan = shift(¶ms);
|
||||
if (!strcmp(nick, client.nick) && strcmp(user, client.user)) {
|
||||
free(client.user);
|
||||
client.user = strdup(user);
|
||||
}
|
||||
uiFmt(
|
||||
"\3%d%s\3 arrived in \3%d%s\3",
|
||||
color(user), nick, color(chan), chan
|
||||
|
@ -500,8 +504,9 @@ int main(int argc, char *argv[]) {
|
|||
getnstr(buf, sizeof(buf) - 1);
|
||||
client.nick = strdup(buf);
|
||||
}
|
||||
erase();
|
||||
client.user = strdup(client.nick);
|
||||
|
||||
erase();
|
||||
uiInit();
|
||||
uiChat("Traveling...");
|
||||
uiDraw();
|
||||
|
@ -538,7 +543,7 @@ int main(int argc, char *argv[]) {
|
|||
|
||||
if (webPass) webirc(webPass);
|
||||
clientFmt("NICK %s\r\n", client.nick);
|
||||
clientFmt("USER %s x x :%s\r\n", client.nick, client.nick);
|
||||
clientFmt("USER %s 0 * :%s\r\n", client.user, client.nick);
|
||||
|
||||
struct pollfd fds[2] = {
|
||||
{ .fd = STDIN_FILENO, .events = POLLIN },
|
||||
|
|
Loading…
Reference in New Issue