Rename client to irc

master
Curtis McEnroe 2018-08-04 17:54:46 -04:00
parent b163492552
commit 35589a5624
No known key found for this signature in database
GPG Key ID: CEA2F97ADCFCD77C
6 changed files with 25 additions and 25 deletions

View File

@ -3,7 +3,7 @@ CFLAGS += -Wall -Wextra -Wpedantic
CFLAGS += -I/usr/local/include
LDFLAGS += -L/usr/local/lib
LDLIBS = -lcursesw -ltls
OBJS = chat.o client.o handle.o input.o ui.o
OBJS = chat.o handle.o input.o irc.o ui.o
all: tags chat

4
chat.c
View File

@ -71,7 +71,7 @@ int main(int argc, char *argv[]) {
uiChat("Traveling...");
uiDraw();
int sock = clientConnect(host, port, webPass);
int sock = ircConnect(host, port, webPass);
free(host);
struct pollfd fds[2] = {
@ -87,7 +87,7 @@ int main(int argc, char *argv[]) {
}
if (fds[0].revents) uiRead();
if (fds[1].revents) clientRead();
if (fds[1].revents) ircRead();
uiDraw();
}
}

8
chat.h
View File

@ -28,12 +28,12 @@ struct {
char *chan;
} chat;
int clientConnect(const char *host, const char *port, const char *webPass);
void clientRead(void);
void clientWrite(const char *ptr, size_t len);
int ircConnect(const char *host, const char *port, const char *webPass);
void ircRead(void);
void ircWrite(const char *ptr, size_t len);
__attribute__((format(printf, 1, 2)))
void clientFmt(const char *format, ...);
void ircFmt(const char *format, ...);
void uiInit(void);
void uiHide(void);

View File

@ -50,7 +50,7 @@ static char *shift(char **params) {
static void handlePing(char *prefix, char *params) {
(void)prefix;
clientFmt("PONG %s\r\n", params);
ircFmt("PONG %s\r\n", params);
}
static void handle432(char *prefix, char *params) {
@ -70,7 +70,7 @@ static void handle001(char *prefix, char *params) {
free(chat.nick);
chat.nick = strdup(nick);
}
clientFmt("JOIN %s\r\n", chat.chan);
ircFmt("JOIN %s\r\n", chat.chan);
}
static void handleJoin(char *prefix, char *params) {
@ -149,7 +149,7 @@ static void handle366(char *prefix, char *params) {
(void)prefix;
shift(&params);
char *chan = shift(&params);
clientFmt("WHO %s\r\n", chan);
ircFmt("WHO %s\r\n", chan);
}
static char whoBuf[4096];

10
input.c
View File

@ -44,7 +44,7 @@ static void privmsg(bool action, const wchar_t *mesg) {
(action ? "\1ACTION " : ""), mesg, (action ? "\1" : "")
);
if (!line) err(EX_OSERR, "asprintf");
clientFmt("%s\r\n", &line[send]);
ircFmt("%s\r\n", &line[send]);
handle(line);
free(line);
}
@ -58,7 +58,7 @@ static void inputMe(wchar_t *params) {
static void inputNick(wchar_t *params) {
wchar_t *nick = wcssep(&params, L" ");
if (nick) {
clientFmt("NICK %ls\r\n", nick);
ircFmt("NICK %ls\r\n", nick);
} else {
uiChat("/nick requires a name");
}
@ -66,14 +66,14 @@ static void inputNick(wchar_t *params) {
static void inputWho(wchar_t *params) {
(void)params;
clientFmt("WHO %s\r\n", chat.chan);
ircFmt("WHO %s\r\n", chat.chan);
}
static void inputQuit(wchar_t *params) {
if (params) {
clientFmt("QUIT :%ls\r\n", params);
ircFmt("QUIT :%ls\r\n", params);
} else {
clientFmt("QUIT :Goodbye\r\n");
ircFmt("QUIT :Goodbye\r\n");
}
}

View File

@ -36,13 +36,13 @@ static void webirc(const char *pass) {
int len = strlen(ssh);
const char *sp = strchr(ssh, ' ');
if (sp) len = sp - ssh;
clientFmt(
ircFmt(
"WEBIRC %s %s %.*s %.*s\r\n",
pass, chat.user, len, ssh, len, ssh
);
}
int clientConnect(const char *host, const char *port, const char *webPass) {
int ircConnect(const char *host, const char *port, const char *webPass) {
int error;
struct tls_config *config = tls_config_new();
@ -76,13 +76,13 @@ int clientConnect(const char *host, const char *port, const char *webPass) {
if (error) err(EX_PROTOCOL, "tls_connect");
if (webPass) webirc(webPass);
clientFmt("NICK %s\r\n", chat.nick);
clientFmt("USER %s 0 * :%s\r\n", chat.user, chat.nick);
ircFmt("NICK %s\r\n", chat.nick);
ircFmt("USER %s 0 * :%s\r\n", chat.user, chat.nick);
return sock;
}
void clientWrite(const char *ptr, size_t len) {
void ircWrite(const char *ptr, size_t len) {
while (len) {
ssize_t ret = tls_write(client, ptr, len);
if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) continue;
@ -92,7 +92,7 @@ void clientWrite(const char *ptr, size_t len) {
}
}
void clientFmt(const char *format, ...) {
void ircFmt(const char *format, ...) {
char *buf;
va_list ap;
va_start(ap, format);
@ -100,14 +100,14 @@ void clientFmt(const char *format, ...) {
va_end(ap);
if (!buf) err(EX_OSERR, "vasprintf");
if (chat.verbose) uiFmt("<<< %.*s", len - 2, buf);
clientWrite(buf, len);
ircWrite(buf, len);
free(buf);
}
void clientRead(void) {
static char buf[4096];
static size_t len;
void ircRead(void) {
ssize_t read = tls_read(client, &buf[len], sizeof(buf) - len);
if (read < 0) errx(EX_IOERR, "tls_read: %s", tls_error(client));
if (!read) {