[-- Attachment #1: Type: text/plain, Size: 777 bytes --]
Hi Dmitry,
On Sun, Feb 20, 2022 at 12:45:06AM +0300, Dmitry Tsarevich via Bzip2-devel wrote:
> I'm trying to build bzip2 under Windows / MSVC
>
> Unfortunately, STDERR_FILENO is *nix specific and is not defined under MSVC.
>
> What I can suggest is to patch bzip2.c to define STDERR_FILENO under MSVC:
>
> diff --git a/bzip2.c b/bzip2.c
> index d1f2fa8..d4550a9 100644
> --- a/bzip2.c
> +++ b/bzip2.c
> @@ -150,6 +150,8 @@
> ERROR_IF_MINUS_ONE ( retVal ); \
> } while ( 0 )
>
> +#define STDERR_FILENO _fileno(stderr)
> +
> #endif /* BZ_LCCWIN32 */
I cannot test myself under Windows / MSVC, but that seems a reasonable
suggestion. Especially since fileno is already used inside this
BZ_LCCWIN32 block. I pushed the attached.
Thanks,
Mark
[-- Attachment #2: 0001-Define-STDERR_FILENO-for-BZ_LCCWIN32.patch --]
[-- Type: text/x-diff, Size: 683 bytes --]
From 28da6196a27de951d6143d4f2765d1f2976f0d39 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 20 Apr 2022 00:31:01 +0200
Subject: [PATCH] Define STDERR_FILENO for BZ_LCCWIN32
STDERR_FILENO is *nix specific and is not defined under MSVC.
So define it using _fileno(stderr).
Suggested-by: Dmitry Tsarevich <dimhotepus@gmail.com>
---
bzip2.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/bzip2.c b/bzip2.c
index d1f2fa8..1538faf 100644
--- a/bzip2.c
+++ b/bzip2.c
@@ -150,6 +150,8 @@
ERROR_IF_MINUS_ONE ( retVal ); \
} while ( 0 )
+# define STDERR_FILENO _fileno(stderr)
+
#endif /* BZ_LCCWIN32 */
--
2.30.2