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 CFLAGS += -I/usr/local/include
LDFLAGS += -L/usr/local/lib LDFLAGS += -L/usr/local/lib
LDLIBS = -lcursesw -ltls 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 all: tags chat

4
chat.c
View File

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

8
chat.h
View File

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

View File

@ -50,7 +50,7 @@ static char *shift(char **params) {
static void handlePing(char *prefix, char *params) { static void handlePing(char *prefix, char *params) {
(void)prefix; (void)prefix;
clientFmt("PONG %s\r\n", params); ircFmt("PONG %s\r\n", params);
} }
static void handle432(char *prefix, char *params) { static void handle432(char *prefix, char *params) {
@ -70,7 +70,7 @@ static void handle001(char *prefix, char *params) {
free(chat.nick); free(chat.nick);
chat.nick = strdup(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) { static void handleJoin(char *prefix, char *params) {
@ -149,7 +149,7 @@ static void handle366(char *prefix, char *params) {
(void)prefix; (void)prefix;
shift(&params); shift(&params);
char *chan = shift(&params); char *chan = shift(&params);
clientFmt("WHO %s\r\n", chan); ircFmt("WHO %s\r\n", chan);
} }
static char whoBuf[4096]; 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" : "") (action ? "\1ACTION " : ""), mesg, (action ? "\1" : "")
); );
if (!line) err(EX_OSERR, "asprintf"); if (!line) err(EX_OSERR, "asprintf");
clientFmt("%s\r\n", &line[send]); ircFmt("%s\r\n", &line[send]);
handle(line); handle(line);
free(line); free(line);
} }
@ -58,7 +58,7 @@ static void inputMe(wchar_t *params) {
static void inputNick(wchar_t *params) { static void inputNick(wchar_t *params) {
wchar_t *nick = wcssep(&params, L" "); wchar_t *nick = wcssep(&params, L" ");
if (nick) { if (nick) {
clientFmt("NICK %ls\r\n", nick); ircFmt("NICK %ls\r\n", nick);
} else { } else {
uiChat("/nick requires a name"); uiChat("/nick requires a name");
} }
@ -66,14 +66,14 @@ static void inputNick(wchar_t *params) {
static void inputWho(wchar_t *params) { static void inputWho(wchar_t *params) {
(void)params; (void)params;
clientFmt("WHO %s\r\n", chat.chan); ircFmt("WHO %s\r\n", chat.chan);
} }
static void inputQuit(wchar_t *params) { static void inputQuit(wchar_t *params) {
if (params) { if (params) {
clientFmt("QUIT :%ls\r\n", params); ircFmt("QUIT :%ls\r\n", params);
} else { } 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); int len = strlen(ssh);
const char *sp = strchr(ssh, ' '); const char *sp = strchr(ssh, ' ');
if (sp) len = sp - ssh; if (sp) len = sp - ssh;
clientFmt( ircFmt(
"WEBIRC %s %s %.*s %.*s\r\n", "WEBIRC %s %s %.*s %.*s\r\n",
pass, chat.user, len, ssh, len, ssh 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; int error;
struct tls_config *config = tls_config_new(); 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 (error) err(EX_PROTOCOL, "tls_connect");
if (webPass) webirc(webPass); if (webPass) webirc(webPass);
clientFmt("NICK %s\r\n", chat.nick); ircFmt("NICK %s\r\n", chat.nick);
clientFmt("USER %s 0 * :%s\r\n", chat.user, chat.nick); ircFmt("USER %s 0 * :%s\r\n", chat.user, chat.nick);
return sock; return sock;
} }
void clientWrite(const char *ptr, size_t len) { void ircWrite(const char *ptr, size_t len) {
while (len) { while (len) {
ssize_t ret = tls_write(client, ptr, len); ssize_t ret = tls_write(client, ptr, len);
if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) continue; 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; char *buf;
va_list ap; va_list ap;
va_start(ap, format); va_start(ap, format);
@ -100,14 +100,14 @@ void clientFmt(const char *format, ...) {
va_end(ap); va_end(ap);
if (!buf) err(EX_OSERR, "vasprintf"); if (!buf) err(EX_OSERR, "vasprintf");
if (chat.verbose) uiFmt("<<< %.*s", len - 2, buf); if (chat.verbose) uiFmt("<<< %.*s", len - 2, buf);
clientWrite(buf, len); ircWrite(buf, len);
free(buf); free(buf);
} }
void clientRead(void) {
static char buf[4096]; static char buf[4096];
static size_t len; static size_t len;
void ircRead(void) {
ssize_t read = tls_read(client, &buf[len], sizeof(buf) - len); 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 < 0) errx(EX_IOERR, "tls_read: %s", tls_error(client));
if (!read) { if (!read) {