From patchwork Tue Jan 21 20:24:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Storsj=C3=B6?= X-Patchwork-Id: 17457 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 15461448CEE for ; Tue, 21 Jan 2020 22:24:56 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E864A68B34B; Tue, 21 Jan 2020 22:24:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7417768A688 for ; Tue, 21 Jan 2020 22:24:49 +0200 (EET) Received: by mail-lf1-f48.google.com with SMTP id b15so3434418lfc.4 for ; Tue, 21 Jan 2020 12:24:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id; bh=kN9Cap++BJuNskevVieQDXo6ZsprdSZOCyVCIVnQhPE=; b=NnfX6+rM17BO3AK806JEBbpxqOk4+yGFuX2B7s9TLrku82YBsBgOFfm6i3ibRLRo8q 1+i3NziT0ov96RTcBXjERY8Jy+KbECcGJsiAvq9wjnBlH4kPUZDXzXuEp0oiu1+r+vC4 /jZL1396jQJHa3tSEQDo00GjQbKhGqEkBIvnhRWjMlr/i+4PnMKN/WDk/kFMpOSto2uW KEMkltGFDV7gQOQ7/FQ1aPYxhiigeAGB/MAYGcJkxbjrCsXc/lkztygU//1CyYaO8kAn 50JHHwuWCjluxbXHUf3f8+EJZGzPwiVzy1b45FS0NHsyF23a6ixHWg8diLbMOcI0fi7x DVZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=kN9Cap++BJuNskevVieQDXo6ZsprdSZOCyVCIVnQhPE=; b=i48lnDWgz6uhPrkxO/sfE3LW+KYr1XqbJgRDRtijwmB536tcyZ1mOH5hVEjVcxxr6/ 6emCvAGh7RCScb83gjr2EtpLRzNDDkHPv8kWLaEjECs9Lym625HgdPe0ijK6j48Kx4lG d5PtSnU1IhZ+eBil+84ZW0FcBJsYq/zEhcpah8fLibQgqGkp6iKCCR8nFZqlYHkRrY+f V9hHM5mX6mQdtY2xWDaePdBs2gVWMOgH4AJY7Ll71SJwFegtXdOEGL+G6GQp1Jp+Btzv xVZiwoKxPbvJVcPww/j1ADb7Mg8RJqVVX10XzVTTVZB/yLckEq3exsUEO05LQzNmuK1y 5M7Q== X-Gm-Message-State: APjAAAVFpFVRab+vs7pskMLM31yDEjw3W6wrhWKJ4Arw5pgGtFDG4ais Z+nV2H7h8URUz+eV+IHl2JBf6vcQ2J0= X-Google-Smtp-Source: APXvYqyDdOkUmNEt6zu14Hn+x1y+0QgZjj6rlje2eHTfCWDRQ0GdbKQEXS2n2NfbRFo2F3bpxYzxXQ== X-Received: by 2002:ac2:58fa:: with SMTP id v26mr3660965lfo.84.1579638288497; Tue, 21 Jan 2020 12:24:48 -0800 (PST) Received: from localhost.localdomain (dsl-tkubng21-58c01c-243.dhcp.inet.fi. [88.192.28.243]) by smtp.gmail.com with ESMTPSA id t1sm19163778lji.98.2020.01.21.12.24.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 12:24:48 -0800 (PST) From: =?utf-8?q?Martin_Storsj=C3=B6?= To: ffmpeg-devel@ffmpeg.org Date: Tue, 21 Jan 2020 22:24:46 +0200 Message-Id: <20200121202447.12496-1-martin@martin.st> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH 1/2] configure: Check for GetStdHandle in addition to SetConsoleTextAttribute X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" 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. --- Alternatively we could check for just GetStdHandle instead of SetConsoleTextAttribute. --- configure | 2 ++ libavutil/log.c | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 1f3d0fdd4b..c02dbcc8b2 100755 --- a/configure +++ b/configure @@ -2201,6 +2201,7 @@ SYSTEM_FUNCS=" GetProcessMemoryInfo GetProcessTimes getrusage + GetStdHandle GetSystemTimeAsFileTime gettimeofday glob @@ -6040,6 +6041,7 @@ check_func_headers sys/stat.h lstat check_func_headers windows.h GetModuleHandle check_func_headers windows.h GetProcessAffinityMask check_func_headers windows.h GetProcessTimes +check_func_headers windows.h GetStdHandle check_func_headers windows.h GetSystemTimeAsFileTime check_func_headers windows.h LoadLibrary check_func_headers windows.h MapViewOfFile diff --git a/libavutil/log.c b/libavutil/log.c index e8a0db7716..16197f4081 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);