summaryrefslogtreecommitdiffstats
path: root/term-utils/agetty.c
diff options
context:
space:
mode:
Diffstat (limited to 'term-utils/agetty.c')
-rw-r--r--term-utils/agetty.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
index d55b2e62a..d88cdc1c0 100644
--- a/term-utils/agetty.c
+++ b/term-utils/agetty.c
@@ -44,6 +44,7 @@
#include "c.h"
#include "widechar.h"
#include "ttyutils.h"
+#include "color-names.h"
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
@@ -2340,8 +2341,17 @@ static void output_special_char(unsigned char c, struct options *op,
switch (c) {
case 'e':
- fputs("\033", stdout);
+ {
+ char escname[UL_COLORNAME_MAXSZ];
+
+ if (get_escape_argument(fp, escname, sizeof(escname))) {
+ const char *esc = color_sequence_from_colorname(escname);
+ if (esc)
+ fputs(esc, stdout);
+ } else
+ fputs("\033", stdout);
break;
+ }
case 's':
printf("%s", uts.sysname);
break;