From f1a8a186e0611b6d1377c804bfdd0c1c8ca68331 Mon Sep 17 00:00:00 2001 From: Timerix Date: Mon, 4 Aug 2025 19:28:38 +0300 Subject: [PATCH] updated tlibc --- dependencies/tlibc | 2 +- src/network/endpoint.c | 2 +- src/network/{std_includes.h => internal.h} | 10 ++++++---- src/network/network.c | 6 +++--- src/network/socket.c | 22 +++++++++++----------- 5 files changed, 22 insertions(+), 20 deletions(-) rename src/network/{std_includes.h => internal.h} (59%) diff --git a/dependencies/tlibc b/dependencies/tlibc index 0e80a56..223406d 160000 --- a/dependencies/tlibc +++ b/dependencies/tlibc @@ -1 +1 @@ -Subproject commit 0e80a568922ae579213d5a99329fa32420f0bcb0 +Subproject commit 223406d4e45503318b197bd069d8f75335fee64f diff --git a/src/network/endpoint.c b/src/network/endpoint.c index a3b0d38..598d615 100755 --- a/src/network/endpoint.c +++ b/src/network/endpoint.c @@ -1,4 +1,4 @@ -#include "std_includes.h" +#include "internal.h" #include "endpoint.h" struct sockaddr_in EndpointIPv4_toSockaddr(EndpointIPv4 end){ diff --git a/src/network/std_includes.h b/src/network/internal.h similarity index 59% rename from src/network/std_includes.h rename to src/network/internal.h index 17501f3..607e3ce 100644 --- a/src/network/std_includes.h +++ b/src/network/internal.h @@ -1,9 +1,11 @@ #pragma once -#if defined(_WIN64) || defined(_WIN32) - #define KN_USE_WINSOCK 1 -#else - #define KN_USE_WINSOCK 0 +#if !defined(KN_USE_WINSOCK) + #if defined(_WIN64) || defined(_WIN32) + #define KN_USE_WINSOCK 1 + #else + #define KN_USE_WINSOCK 0 + #endif #endif #if KN_USE_WINSOCK diff --git a/src/network/network.c b/src/network/network.c index c4190ca..3e97488 100755 --- a/src/network/network.c +++ b/src/network/network.c @@ -1,5 +1,5 @@ #include "network.h" -#include "std_includes.h" +#include "internal.h" Result(void) network_init(){ #if _WIN32 @@ -7,7 +7,7 @@ Result(void) network_init(){ WSADATA wsaData = {0}; int result = WSAStartup(MAKEWORD(2,2), &wsaData); if (result != 0) { - return RESULT_ERROR(sprintf_malloc(64, "WSAStartup failed with error code 0x%X", result), true); + return RESULT_ERROR_FMT("WSAStartup failed with error code 0x%X", result); } #endif return RESULT_VOID; @@ -18,7 +18,7 @@ Result(void) network_deinit(){ // Deinitialize Winsock int result = WSACleanup(); if (result != 0) { - return RESULT_ERROR(sprintf_malloc(64, "WSACleanup failed with error code 0x%X", result), true); + return RESULT_ERROR_FMT("WSACleanup failed with error code 0x%X", result); } #endif return RESULT_VOID; diff --git a/src/network/socket.c b/src/network/socket.c index 8ca4b47..ab7683f 100755 --- a/src/network/socket.c +++ b/src/network/socket.c @@ -1,4 +1,4 @@ -#include "std_includes.h" +#include "internal.h" #include "socket.h" #include "errno.h" #include "assert.h" @@ -6,7 +6,7 @@ Result(Socket) socket_open_TCP(){ Socket s = socket(AF_INET, SOCK_STREAM, 0); if(s == -1){ - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); } return RESULT_VALUE(i, s); @@ -22,20 +22,20 @@ void socket_close(Socket s){ Result(void) socket_shutdown(Socket s, SocketShutdownType direction){ if(shutdown(s, (int)direction) == -1) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); return RESULT_VOID; } Result(void) socket_bind(Socket s, EndpointIPv4 local_end){ struct sockaddr_in sockaddr = EndpointIPv4_toSockaddr(local_end); if(bind(s, (void*)&sockaddr, sizeof(sockaddr)) != 0) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); return RESULT_VOID; } Result(void) socket_listen(Socket s, i32 backlog){ if(listen(s, backlog) != 0) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); return RESULT_VOID; } @@ -44,7 +44,7 @@ Result(Socket) socket_accept(Socket main_socket, NULLABLE(EndpointIPv4*) remote_ i32 sockaddr_size = sizeof(remote_addr); Socket user_connection = accept(main_socket, (void*)&remote_addr, (void*)&sockaddr_size); if(user_connection == -1) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); //TODO: add IPV6 support (struct sockaddr_in6) assert(sockaddr_size == sizeof(remote_addr)); @@ -56,14 +56,14 @@ Result(Socket) socket_accept(Socket main_socket, NULLABLE(EndpointIPv4*) remote_ Result(void) socket_connect(Socket s, EndpointIPv4 remote_end){ struct sockaddr_in sockaddr = EndpointIPv4_toSockaddr(remote_end); if(connect(s, (void*)&sockaddr, sizeof(sockaddr)) != 0) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); return RESULT_VOID; } Result(void) socket_send(Socket s, Array(u8) buffer){ i32 r = send(s, buffer.data, buffer.size, 0); if(r < 0) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); return RESULT_VOID; } @@ -71,14 +71,14 @@ Result(void) socket_sendto(Socket s, Array(u8) buffer, EndpointIPv4 dst){ struct sockaddr_in sockaddr = EndpointIPv4_toSockaddr(dst); i32 r = sendto(s, buffer.data, buffer.size, 0, (void*)&sockaddr, sizeof(sockaddr)); if(r < 0) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); return RESULT_VOID; } Result(i32) socket_recv(Socket s, Array(u8) buffer){ i32 r = recv(s, buffer.data, buffer.size, 0); if(r < 0) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); return RESULT_VALUE(i, r); } @@ -89,7 +89,7 @@ Result(i32) socket_recvfrom(Socket s, Array(u8) buffer, NULLABLE(EndpointIPv4*) i32 r = recvfrom(s, buffer.data, buffer.size, 0, (struct sockaddr*)&remote_addr, (void*)&sockaddr_size); if(r < 0) - return RESULT_ERROR(strerror(errno), false); + return RESULT_ERROR_ERRNO(); //TODO: add IPV6 support (struct sockaddr_in6) assert(sockaddr_size == sizeof(remote_addr));