From 3043935f02da2e680b37cf282587106ad05440ee Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 13 Jan 2012 21:56:28 +0100 Subject: [PATCH 1/1] util: split out tty_is_vc_resolve() from default_term_for_tty() --- src/util.c | 20 +++++++++++++------- src/util.h | 1 + 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/util.c b/src/util.c index a6cdfd5b5..745056556 100644 --- a/src/util.c +++ b/src/util.c @@ -4402,31 +4402,37 @@ int vtnr_from_tty(const char *tty) { return i; } -const char *default_term_for_tty(const char *tty) { +bool tty_is_vc_resolve(const char *tty) { char *active = NULL; - const char *term; + bool b; assert(tty); if (startswith(tty, "/dev/")) tty += 5; - /* Resolve where /dev/console is pointing when determining - * TERM */ + /* Resolve where /dev/console is pointing to */ if (streq(tty, "console")) if (read_one_line_file("/sys/class/tty/console/active", &active) >= 0) { /* If multiple log outputs are configured the * last one is what /dev/console points to */ - if ((tty = strrchr(active, ' '))) + tty = strrchr(active, ' '); + if (tty) tty++; else tty = active; } - term = tty_is_vc(tty) ? "TERM=linux" : "TERM=vt100"; + b = tty_is_vc(tty); free(active); - return term; + return b; +} + +const char *default_term_for_tty(const char *tty) { + assert(tty); + + return tty_is_vc_resolve(tty) ? "TERM=linux" : "TERM=vt100"; } bool dirent_is_file(const struct dirent *de) { diff --git a/src/util.h b/src/util.h index a52ac64ee..e6ffad6c2 100644 --- a/src/util.h +++ b/src/util.h @@ -411,6 +411,7 @@ char *fstab_node_to_udev_node(const char *p); void filter_environ(const char *prefix); bool tty_is_vc(const char *tty); +bool tty_is_vc_resolve(const char *tty); int vtnr_from_tty(const char *tty); const char *default_term_for_tty(const char *tty); -- 2.30.2