parent
d2d421735e
commit
c383f9f3a7
27
chat.c
27
chat.c
|
@ -126,6 +126,9 @@ static void clientFmt(const char *format, ...) {
|
|||
|
||||
typedef void (*Handler)(char *prefix, char *params);
|
||||
|
||||
static char *prift(char **prefix) {
|
||||
return strsep(prefix, "!@");
|
||||
}
|
||||
static char *shift(char **params) {
|
||||
char *rest = *params;
|
||||
if (!rest) errx(EX_PROTOCOL, "expected param");
|
||||
|
@ -147,20 +150,20 @@ static void handlePing(char *prefix, char *params) {
|
|||
}
|
||||
|
||||
static void handleJoin(char *prefix, char *params) {
|
||||
char *nick = strsep(&prefix, "!");
|
||||
char *nick = prift(&prefix);
|
||||
char *chan = shift(¶ms);
|
||||
uiFmt("--> %s arrived in %s", nick, chan);
|
||||
}
|
||||
static void handlePart(char *prefix, char *params) {
|
||||
char *nick = strsep(&prefix, "!");
|
||||
char *nick = prift(&prefix);
|
||||
char *chan = shift(¶ms);
|
||||
char *reason = shift(¶ms);
|
||||
uiFmt("<-- %s left %s, \"%s\"", nick, chan, reason);
|
||||
char *mesg = shift(¶ms);
|
||||
uiFmt("<-- %s left %s, \"%s\"", nick, chan, mesg);
|
||||
}
|
||||
static void handleQuit(char *prefix, char *params) {
|
||||
char *nick = strsep(&prefix, "!");
|
||||
char *reason = shift(¶ms);
|
||||
uiFmt("<-- %s left, \"%s\"", nick, reason);
|
||||
char *nick = prift(&prefix);
|
||||
char *mesg = shift(¶ms);
|
||||
uiFmt("<-- %s left, \"%s\"", nick, mesg);
|
||||
}
|
||||
|
||||
static void handle332(char *prefix, char *params) {
|
||||
|
@ -168,15 +171,15 @@ static void handle332(char *prefix, char *params) {
|
|||
shift(¶ms);
|
||||
char *chan = shift(¶ms);
|
||||
char *topic = shift(¶ms);
|
||||
uiTopic(topic);
|
||||
uiFmt("--- The sign in %s reads, \"%s\"", chan, topic);
|
||||
uiTopic(topic);
|
||||
}
|
||||
static void handleTopic(char *prefix, char *params) {
|
||||
char *nick = strsep(&prefix, "!");
|
||||
char *nick = prift(&prefix);
|
||||
char *chan = shift(¶ms);
|
||||
char *topic = shift(¶ms);
|
||||
uiTopic(topic);
|
||||
uiFmt("--- %s placed a new sign in %s, \"%s\"", nick, chan, topic);
|
||||
uiTopic(topic);
|
||||
}
|
||||
|
||||
static void handle353(char *prefix, char *params) {
|
||||
|
@ -190,13 +193,13 @@ static void handle353(char *prefix, char *params) {
|
|||
}
|
||||
|
||||
static void handlePrivmsg(char *prefix, char *params) {
|
||||
char *nick = strsep(&prefix, "!");
|
||||
char *nick = prift(&prefix);
|
||||
shift(¶ms);
|
||||
char *message = shift(¶ms);
|
||||
uiFmt("<%s> %s", nick, message);
|
||||
}
|
||||
static void handleNotice(char *prefix, char *params) {
|
||||
char *nick = strsep(&prefix, "!");
|
||||
char *nick = prift(&prefix);
|
||||
shift(¶ms);
|
||||
char *message = shift(¶ms);
|
||||
uiFmt("-%s- %s", nick, message);
|
||||
|
|
Loading…
Reference in New Issue