diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-10-30 12:20:21 +0100 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-10-30 12:20:39 +0100 |
commit | 48733b6acfa27af8e030d9b7abfb9109b1ce89e0 (patch) | |
tree | 0c21acb58953f0420992929a059f16072bc0b5d7 | |
parent | 507144c8949a7a26cfe7cb2e0ed301ee88ac6403 (diff) |
fix not sending PresenceMessage
-rw-r--r-- | send.c | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -30,19 +30,29 @@ main(int argc, char** argv) err = connect(serverfd, (struct sockaddr*)&address, sizeof(address)); assert(err == 0); - HeaderMessage header = HEADER_TEXTMESSAGE; - TextMessage* message; - // convert text to wide string u32 text_len = strlen(argv[2]) + 1; u32 text_wide[text_len]; u32 size = mbstowcs((wchar_t*)text_wide, argv[2], text_len - 1); assert(size == text_len - 1); text_wide[text_len - 1] = 0; - u32 author_len = strlen(argv[1]); assert(author_len + 1 <= AUTHOR_LEN); // add 1 for null terminator + // Introduce ourselves + { + HeaderMessage header = HEADER_PRESENCEMESSAGE; + PresenceMessage message; + memcpy(message.author, argv[1], author_len); + nsend = send(serverfd, &header, sizeof(header), 0); + assert(nsend != -1); + nsend = send(serverfd, &message, sizeof(message), 0); + assert(nsend != -1); + } + + HeaderMessage header = HEADER_TEXTMESSAGE; + TextMessage* message; + u8 buf[text_len * sizeof(*text_wide) + TEXTMESSAGE_SIZE]; bzero(buf, sizeof(buf)); message = (TextMessage*)buf; |