diff options
author | June McEnroe <june@causal.agency> | 2023-07-16 21:23:33 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2023-07-16 21:23:33 -0400 |
commit | a6c37817668f5b0e1d2cce3ee949470a0a440bfe (patch) | |
tree | f25fc1c5f8d98b3447f01faed185848c78f21d7a /state.c | |
parent | Factor out caps pounce doesn't request from the server (diff) | |
download | pounce-a6c37817668f5b0e1d2cce3ee949470a0a440bfe.tar.gz pounce-a6c37817668f5b0e1d2cce3ee949470a0a440bfe.zip |
Implement draft/read-marker
Diffstat (limited to '')
-rw-r--r-- | state.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/state.c b/state.c index 924bb8f..a28b3ba 100644 --- a/state.c +++ b/state.c @@ -53,12 +53,6 @@ static void require(const struct Message *msg, bool origin, size_t len) { } } -static void set(char **field, const char *value) { - if (*field) free(*field); - *field = strdup(value); - if (!*field) err(EX_OSERR, "strdup"); -} - // Maximum size of one AUTHENTICATE message. enum { AuthLen = 299 }; static char plainBase64[BASE64_SIZE(AuthLen)]; @@ -90,6 +84,7 @@ static const enum Cap DontReq = 0 | CapConsumer | CapPalaverApp | CapPassive + | CapReadMarker | CapSASL | CapSTS | CapUnsupported; @@ -475,6 +470,9 @@ void stateSync(struct Client *client) { clientOrigin, self.nick, chan->name, chan->topic ); } + if (client->caps & CapReadMarker) { + clientGetMarker(client, chan->name); + } if (stateNoNames) continue; serverEnqueue("NAMES %s\r\n", chan->name); } |