diff options
author | Robby Zambito <contact@robbyzambito.me> | 2025-05-11 13:39:53 -0400 |
---|---|---|
committer | Robby Zambito <contact@robbyzambito.me> | 2025-05-11 13:40:55 -0400 |
commit | 14ed0bc3f3cdc4ac7e2ef76d9f1217c1d70a67d8 (patch) | |
tree | c47a7bb4ffbc700c82398680649522e84cc814da /src | |
parent | c72503fce65ec167f376ba05bf980c61b2807e78 (diff) |
Fix issue returning stack pointer
Diffstat (limited to 'src')
-rw-r--r-- | src/Client.zig | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/Client.zig b/src/Client.zig index a39d4cd..2317e23 100644 --- a/src/Client.zig +++ b/src/Client.zig @@ -124,10 +124,13 @@ fn randomPort() u16 { return p; } -pub fn sendInitialConnection(payload: []const u8, initial_port: u16) !*SaprusMessage { +pub fn sendInitialConnection( + payload: []const u8, + output_bytes: []align(@alignOf(SaprusMessage)) u8, + initial_port: u16, +) !*SaprusMessage { const dest_port = randomPort(); - var buf: [max_message_size]u8 align(@alignOf(SaprusMessage)) = undefined; - const msg_bytes = buf[0..try SaprusMessage.calcSize( + const msg_bytes = output_bytes[0..try SaprusMessage.calcSize( .connection, base64Enc.calcSize(payload.len), )]; @@ -161,13 +164,13 @@ pub fn connect(payload: []const u8) !?SaprusConnection { try sock.setReadTimeout(1 * std.time.us_per_s); try sock.bind(bind_addr); - const msg = try sendInitialConnection(payload, initial_port); + var sent_msg_bytes: [max_message_size]u8 align(@alignOf(SaprusMessage)) = undefined; + const msg = try sendInitialConnection(payload, &sent_msg_bytes, initial_port); var response_buf: [max_message_size]u8 align(@alignOf(SaprusMessage)) = undefined; _ = try sock.receive(&response_buf); // Ignore message that I sent. const len = try sock.receive(&response_buf); - std.debug.print("response bytes: {x}\n", .{response_buf[0..len]}); initial_conn_res = try .networkBytesAsValue(response_buf[0..len]); // Complete handshake after awaiting response |