mirror of https://git.ffmpeg.org/ffmpeg.git
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ö <martin@martin.st>
This commit is contained in:
parent
e3fb9af6f1
commit
63418e374f
|
@ -2201,6 +2201,7 @@ SYSTEM_FUNCS="
|
||||||
GetProcessMemoryInfo
|
GetProcessMemoryInfo
|
||||||
GetProcessTimes
|
GetProcessTimes
|
||||||
getrusage
|
getrusage
|
||||||
|
GetStdHandle
|
||||||
GetSystemTimeAsFileTime
|
GetSystemTimeAsFileTime
|
||||||
gettimeofday
|
gettimeofday
|
||||||
glob
|
glob
|
||||||
|
@ -6040,6 +6041,7 @@ check_func_headers sys/stat.h lstat
|
||||||
check_func_headers windows.h GetModuleHandle
|
check_func_headers windows.h GetModuleHandle
|
||||||
check_func_headers windows.h GetProcessAffinityMask
|
check_func_headers windows.h GetProcessAffinityMask
|
||||||
check_func_headers windows.h GetProcessTimes
|
check_func_headers windows.h GetProcessTimes
|
||||||
|
check_func_headers windows.h GetStdHandle
|
||||||
check_func_headers windows.h GetSystemTimeAsFileTime
|
check_func_headers windows.h GetSystemTimeAsFileTime
|
||||||
check_func_headers windows.h LoadLibrary
|
check_func_headers windows.h LoadLibrary
|
||||||
check_func_headers windows.h MapViewOfFile
|
check_func_headers windows.h MapViewOfFile
|
||||||
|
|
|
@ -55,7 +55,7 @@ static int av_log_level = AV_LOG_INFO;
|
||||||
static int flags;
|
static int flags;
|
||||||
|
|
||||||
#define NB_LEVELS 8
|
#define NB_LEVELS 8
|
||||||
#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE
|
#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE && HAVE_GETSTDHANDLE
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
static const uint8_t color[16 + AV_CLASS_CATEGORY_NB] = {
|
static const uint8_t color[16 + AV_CLASS_CATEGORY_NB] = {
|
||||||
[AV_LOG_PANIC /8] = 12,
|
[AV_LOG_PANIC /8] = 12,
|
||||||
|
@ -122,7 +122,7 @@ static int use_color = -1;
|
||||||
|
|
||||||
static void check_color_terminal(void)
|
static void check_color_terminal(void)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE
|
#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE && HAVE_GETSTDHANDLE
|
||||||
CONSOLE_SCREEN_BUFFER_INFO con_info;
|
CONSOLE_SCREEN_BUFFER_INFO con_info;
|
||||||
con = GetStdHandle(STD_ERROR_HANDLE);
|
con = GetStdHandle(STD_ERROR_HANDLE);
|
||||||
use_color = (con != INVALID_HANDLE_VALUE) && !getenv("NO_COLOR") &&
|
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;
|
if (level == AV_LOG_INFO/8) local_use_color = 0;
|
||||||
else local_use_color = use_color;
|
else local_use_color = use_color;
|
||||||
|
|
||||||
#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE
|
#if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE && HAVE_GETSTDHANDLE
|
||||||
if (local_use_color)
|
if (local_use_color)
|
||||||
SetConsoleTextAttribute(con, background | color[level]);
|
SetConsoleTextAttribute(con, background | color[level]);
|
||||||
fputs(str, stderr);
|
fputs(str, stderr);
|
||||||
|
|
Loading…
Reference in New Issue