From 63418e374fcf265bd4a8e79a655bacc96671a726 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Tue, 21 Jan 2020 14:47:57 +0200 Subject: configure: Check for GetStdHandle in addition to SetConsoleTextAttribute SetConsoleTextAttribute used to be unavailable for Windows Store apps, but is available to them now. But GetStdHandle still is unavailable, thus make sure to check for both functions before using code that requires both. Signed-off-by: Martin Storsjö --- libavutil/log.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libavutil') diff --git a/libavutil/log.c b/libavutil/log.c index c3e65f0470..0a7b169bc0 100644 --- a/libavutil/log.c +++ b/libavutil/log.c @@ -55,7 +55,7 @@ static int av_log_level = AV_LOG_INFO; static int flags; #define NB_LEVELS 8 -#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE +#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE && HAVE_GETSTDHANDLE #include static const uint8_t color[16 + AV_CLASS_CATEGORY_NB] = { [AV_LOG_PANIC /8] = 12, @@ -122,7 +122,7 @@ static int use_color = -1; static void check_color_terminal(void) { -#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE +#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE && HAVE_GETSTDHANDLE CONSOLE_SCREEN_BUFFER_INFO con_info; con = GetStdHandle(STD_ERROR_HANDLE); use_color = (con != INVALID_HANDLE_VALUE) && !getenv("NO_COLOR") && @@ -157,7 +157,7 @@ static void colored_fputs(int level, int tint, const char *str) if (level == AV_LOG_INFO/8) local_use_color = 0; else local_use_color = use_color; -#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE +#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE && HAVE_GETSTDHANDLE if (local_use_color) SetConsoleTextAttribute(con, background | color[level]); fputs(str, stderr); -- cgit v1.2.3