brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · dc09ba7 Raw
49 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <linux/kernel.h>3#include <subcmd/pager.h>4#include <string.h>5#include "config.h"6#include <stdlib.h>7#include <stdio.h>8#include "color.h"9#include <math.h>10#include <unistd.h>11 12int perf_config_colorbool(const char *var, const char *value, int stdout_is_tty)13{14	if (value) {15		if (!strcasecmp(value, "never"))16			return 0;17		if (!strcasecmp(value, "always"))18			return 1;19		if (!strcasecmp(value, "auto"))20			goto auto_color;21	}22 23	/* Missing or explicit false to turn off colorization */24	if (!perf_config_bool(var, value))25		return 0;26 27	/* any normal truth value defaults to 'auto' */28 auto_color:29	if (stdout_is_tty < 0)30		stdout_is_tty = isatty(1);31	if (stdout_is_tty || pager_in_use()) {32		char *term = getenv("TERM");33		if (term && strcmp(term, "dumb"))34			return 1;35	}36	return 0;37}38 39int perf_color_default_config(const char *var, const char *value,40			      void *cb __maybe_unused)41{42	if (!strcmp(var, "color.ui")) {43		perf_use_color_default = perf_config_colorbool(var, value, -1);44		return 0;45	}46 47	return 0;48}49