diff options
author | June McEnroe <june@causal.agency> | 2019-10-23 18:51:57 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2019-10-23 18:51:57 -0400 |
commit | e2be3c85131896e203f7ba16d883bc61bfa09064 (patch) | |
tree | fbea6de725284cba7a7c06f5a4b28ff247eba599 /state.c | |
parent | Send to server if client has no needs (diff) | |
download | pounce-e2be3c85131896e203f7ba16d883bc61bfa09064.tar.gz pounce-e2be3c85131896e203f7ba16d883bc61bfa09064.zip |
Synchronize state after client registration
Diffstat (limited to 'state.c')
-rw-r--r-- | state.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/state.c b/state.c index c7d517e..161fd90 100644 --- a/state.c +++ b/state.c @@ -14,8 +14,10 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <assert.h> #include <err.h> #include <stdbool.h> +#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sysexits.h> @@ -128,3 +130,24 @@ void stateParse(char *line) { break; } } + +void stateSync(struct Client *client) { + char buf[4096]; + int len = snprintf( + buf, sizeof(buf), + ":%s 001 %s :%s\r\n" + ":%s 002 %s :%s\r\n" + ":%s 003 %s :%s\r\n" + ":%s 004 %s %s %s %s %s\r\n", + intro.origin, nick, intro.welcome, + intro.origin, nick, intro.yourHost, + intro.origin, nick, intro.created, + intro.origin, nick, + intro.myInfo[0], intro.myInfo[1], intro.myInfo[2], intro.myInfo[3] + ); + assert(len > 0 && (size_t)len < sizeof(buf)); + + // TODO: Send ISUPPORT. + + clientSend(client, buf, len); +} |