diff options
Diffstat (limited to 'handle.c')
-rw-r--r-- | handle.c | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/handle.c b/handle.c index 7fba7f2..9350e7f 100644 --- a/handle.c +++ b/handle.c @@ -91,22 +91,33 @@ static void handlePart(char *prefix, char *params) { char *nick = prift(&prefix); char *user = prift(&prefix); char *chan = shift(¶ms); - char *mesg = shift(¶ms); - uiFmt( - L"\3%d%s\3 leaves \3%d%s\3, \"%s\"", - color(user), nick, color(chan), chan, mesg - ); + if (params) { + char *mesg = shift(¶ms); + uiFmt( + L"\3%d%s\3 leaves \3%d%s\3, \"%s\"", + color(user), nick, color(chan), chan, mesg + ); + } else { + uiFmt( + L"\3%d%s\3 leaves \3%d%s\3", + color(user), nick, color(chan), chan + ); + } } static void handleQuit(char *prefix, char *params) { char *nick = prift(&prefix); char *user = prift(&prefix); - char *mesg = shift(¶ms); - char *quot = (mesg[0] == '"') ? "" : "\""; - uiFmt( - L"\3%d%s\3 leaves, %s%s%s", - color(user), nick, quot, mesg, quot - ); + if (params) { + char *mesg = shift(¶ms); + char *quot = (mesg[0] == '"') ? "" : "\""; + uiFmt( + L"\3%d%s\3 leaves, %s%s%s", + color(user), nick, quot, mesg, quot + ); + } else { + uiFmt(L"\3%d%s\3 leaves", color(user), nick); + } } static void handleKick(char *prefix, char *params) { |