mirror of
https://github.com/systemd/systemd.git
synced 2025-03-25 18:50:18 +03:00
terminal-util: use getenv_bool for $SYSTEMD_COLORS
This changes the semantics a bit: before, SYSTEMD_COLORS= would be treated as "yes", same as SYSTEMD_COLORS=xxx and SYSTEMD_COLORS=1, and only SYSTEMD_COLORS=0 would be treated as "no". Now, only valid booleans are treated as "yes". This actually matches how $SYSTEMD_COLORS was announced in NEWS.
This commit is contained in:
parent
158fbf7661
commit
acf553b04d
@ -837,8 +837,10 @@
|
||||
<varlistentry>
|
||||
<term><varname>$SYSTEMD_COLORS</varname></term>
|
||||
|
||||
<listitem><para>Controls whether colorized output should be generated.
|
||||
</para></listitem>
|
||||
<listitem><para>The value must be a boolean. Controls whether colorized output should be
|
||||
generated. This can be specified to override the decision that <command>systemd</command>
|
||||
makes based on <varname>$TERM</varname> and what the console is connected to.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -849,7 +851,7 @@
|
||||
<listitem><para>Set by systemd for supervised processes during
|
||||
socket-based activation. See
|
||||
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
for more information. </para></listitem>
|
||||
for more information.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -858,7 +860,7 @@
|
||||
<listitem><para>Set by systemd for supervised processes for
|
||||
status and start-up completion notification. See
|
||||
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
for more information. </para></listitem>
|
||||
for more information.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "env-util.h"
|
||||
#include "fd-util.h"
|
||||
#include "fileio.h"
|
||||
#include "fs-util.h"
|
||||
@ -1212,11 +1213,11 @@ bool colors_enabled(void) {
|
||||
static int enabled = -1;
|
||||
|
||||
if (_unlikely_(enabled < 0)) {
|
||||
const char *colors;
|
||||
int val;
|
||||
|
||||
colors = getenv("SYSTEMD_COLORS");
|
||||
if (colors)
|
||||
enabled = parse_boolean(colors) != 0;
|
||||
val = getenv_bool("SYSTEMD_COLORS");
|
||||
if (val >= 0)
|
||||
enabled = val;
|
||||
else if (getpid() == 1)
|
||||
/* PID1 outputs to the console without holding it open all the time */
|
||||
enabled = !getenv_terminal_is_dumb();
|
||||
|
Loading…
x
Reference in New Issue
Block a user