diff options
author | June McEnroe <june@causal.agency> | 2019-07-02 21:41:52 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2019-07-02 21:41:52 -0400 |
commit | 6223c9c8f8da33c27c07ee75d05bd17dacf401c0 (patch) | |
tree | 23e101ca5da0d1cd227948198174d97300796562 | |
parent | Clean up input parameter handling (diff) | |
download | catgirl-6223c9c8f8da33c27c07ee75d05bd17dacf401c0.tar.gz catgirl-6223c9c8f8da33c27c07ee75d05bd17dacf401c0.zip |
Deal with ~users in colorGen
-rw-r--r-- | color.c | 5 | ||||
-rw-r--r-- | handle.c | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/color.c b/color.c index f713451..dad5647 100644 --- a/color.c +++ b/color.c @@ -29,8 +29,9 @@ static uint32_t hashChar(uint32_t hash, char ch) { enum IRCColor colorGen(const char *str) { if (!str) return IRCDefault; uint32_t hash = 0; - for (; str[0]; ++str) { - hash = hashChar(hash, str[0]); + if (*str == '~') str++; + for (; *str; ++str) { + hash = hashChar(hash, *str); } while (IRCBlack == (hash & IRCLightGray)) { hash = hashChar(hash, '\0'); diff --git a/handle.c b/handle.c index 4f9015c..e59960b 100644 --- a/handle.c +++ b/handle.c @@ -43,7 +43,7 @@ static void parse( field = strsep(&prefix, "!"); if (nick) *nick = field; field = strsep(&prefix, "@"); - if (user) *user = (field && field[0] == '~' ? &field[1] : field); + if (user) *user = field; if (host) *host = prefix; } @@ -164,7 +164,7 @@ static void handleReplyWhoisUser(char *prefix, char *params) { prefix, NULL, NULL, NULL, params, 6, 0, NULL, &nick, &user, &host, NULL, &real ); - whoisColor = colorGen(user[0] == '~' ? &user[1] : user); + whoisColor = colorGen(user); uiFmt( TagStatus, UIWarm, "\3%d%s\3 is %s@%s, \"%s\"", @@ -372,7 +372,6 @@ static void handleReplyWho(char *prefix, char *params) { prefix, NULL, NULL, NULL, params, 6, 0, NULL, &chan, &user, NULL, NULL, &nick ); - if (user[0] == '~') user = &user[1]; struct Tag tag = colorTag(tagFor(chan), chan); tabAdd(tag, nick); |