diff --git a/src/nanoarrow/ipc/decoder.c b/src/nanoarrow/ipc/decoder.c index 7b24bc3a9..42ba24573 100644 --- a/src/nanoarrow/ipc/decoder.c +++ b/src/nanoarrow/ipc/decoder.c @@ -25,8 +25,9 @@ #include "nanoarrow/nanoarrow.h" #include "nanoarrow/nanoarrow_ipc.h" -// R 3.6 / Windows builds on a very old toolchain that does not define ENODATA -#if defined(_WIN32) && !defined(_MSC_VER) && !defined(ENODATA) +// ENODATA is an XSI extension and is not defined by all libcs (e.g., older +// Windows/MinGW toolchains used by R 3.6, FreeBSD, and OpenBSD). +#if !defined(ENODATA) #define ENODATA 120 #endif diff --git a/src/nanoarrow/ipc/reader.c b/src/nanoarrow/ipc/reader.c index f69d441f2..0b99b828e 100644 --- a/src/nanoarrow/ipc/reader.c +++ b/src/nanoarrow/ipc/reader.c @@ -23,8 +23,9 @@ #include "nanoarrow/nanoarrow.h" #include "nanoarrow/nanoarrow_ipc.h" -// R 3.6 / Windows builds on a very old toolchain that does not define ENODATA -#if defined(_WIN32) && !defined(_MSC_VER) && !defined(ENODATA) +// ENODATA is an XSI extension and is not defined by all libcs (e.g., older +// Windows/MinGW toolchains used by R 3.6, FreeBSD, and OpenBSD). +#if !defined(ENODATA) #define ENODATA 120 #endif