Factor out ircQuit

master
Curtis McEnroe 2018-12-14 16:43:49 -05:00
parent 14c60a15bc
commit e84c36a0bd
No known key found for this signature in database
GPG Key ID: CEA2F97ADCFCD77C
4 changed files with 13 additions and 8 deletions

1
chat.h
View File

@ -111,6 +111,7 @@ int ircConnect(void);
void ircRead(void);
void ircWrite(const char *ptr, size_t len);
void ircFmt(const char *format, ...) __attribute__((format(printf, 1, 2)));
void ircQuit(const char *mesg);
void uiInit(void);
void uiShow(void);

View File

@ -131,14 +131,10 @@ noreturn void eventLoop(void) {
for (;;) {
if (sig[SIGCHLD]) childWait();
if (sig[SIGHUP]) {
ircFmt("QUIT :zzz\r\n");
self.quit = true;
}
if (sig[SIGHUP]) ircQuit("zzz");
if (sig[SIGINT]) {
signal(SIGINT, SIG_DFL);
ircFmt("QUIT :Goodbye\r\n");
self.quit = true;
ircQuit("Goodbye");
}
if (sig[SIGWINCH]) {
curses.sa_handler(SIGWINCH);

View File

@ -118,8 +118,11 @@ static void inputTopic(struct Tag tag, char *params) {
static void inputQuit(struct Tag tag, char *params) {
(void)tag;
ircFmt("QUIT :%s\r\n", params ? params : "Goodbye");
self.quit = true;
if (params) {
ircQuit(params);
} else {
ircQuit("Goodbye");
}
}
static void inputURL(struct Tag tag, char *params) {

5
irc.c
View File

@ -117,6 +117,11 @@ void ircFmt(const char *format, ...) {
free(buf);
}
void ircQuit(const char *mesg) {
ircFmt("QUIT :%s\r\n", mesg);
self.quit = true;
}
void ircRead(void) {
static char buf[4096];
static size_t len;