From f1afce74d64390b9178e9293568d003b19d587ca Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 20 Aug 2024 23:45:29 +0800 Subject: [PATCH] support cosmocc --- src/tbox/platform/posix/file.c | 4 ++++ src/tbox/platform/posix/poller_poll.c | 2 +- src/tbox/platform/posix/sockaddr.h | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/tbox/platform/posix/file.c b/src/tbox/platform/posix/file.c index 82c949f1a..c5de7f976 100644 --- a/src/tbox/platform/posix/file.c +++ b/src/tbox/platform/posix/file.c @@ -347,7 +347,11 @@ tb_long_t tb_file_preadv(tb_file_ref_t file, tb_iovec_t const* list, tb_size_t s // read it #ifdef TB_CONFIG_POSIX_HAVE_PREADV +# ifdef __COSMOPOLITAN__ + return preadv(tb_file2fd(file), (struct iovec*)list, size, offset); +# else return preadv(tb_file2fd(file), (struct iovec const*)list, size, offset); +# endif #else // FIXME: lock it diff --git a/src/tbox/platform/posix/poller_poll.c b/src/tbox/platform/posix/poller_poll.c index c8adb5726..81a22195f 100644 --- a/src/tbox/platform/posix/poller_poll.c +++ b/src/tbox/platform/posix/poller_poll.c @@ -28,7 +28,7 @@ #include #include #include -#if defined(TB_CONFIG_OS_HAIKU) +#if defined(TB_CONFIG_OS_HAIKU) || defined(__COSMOPOLITAN__) # include #elif !defined(TB_CONFIG_OS_ANDROID) # include diff --git a/src/tbox/platform/posix/sockaddr.h b/src/tbox/platform/posix/sockaddr.h index 5bf8dae9d..83d6381bb 100644 --- a/src/tbox/platform/posix/sockaddr.h +++ b/src/tbox/platform/posix/sockaddr.h @@ -96,6 +96,7 @@ static __tb_inline__ tb_size_t tb_sockaddr_save(tb_ipaddr_ref_t ipaddr, struct size = sizeof(struct sockaddr_in); } break; +#ifndef __COSMOPOLITAN__ case AF_INET6: { // the ipv6 ipaddr @@ -127,6 +128,7 @@ static __tb_inline__ tb_size_t tb_sockaddr_save(tb_ipaddr_ref_t ipaddr, struct size = sizeof(struct sockaddr_in6); } break; +#endif case AF_UNIX: { tb_sockaddr_un_ref_t addru = (tb_sockaddr_un_ref_t)saddr;