Blame packages/u/util-linux/util-linux-honor-noclear-when-reprint-issue.patch

Bernhard M. Wiedemann 687c01
Index: util-linux-2.38.1/term-utils/agetty.c
Bernhard M. Wiedemann 687c01
===================================================================
Bernhard M. Wiedemann 687c01
--- util-linux-2.38.1.orig/term-utils/agetty.c
Bernhard M. Wiedemann 687c01
+++ util-linux-2.38.1/term-utils/agetty.c
Bernhard M. Wiedemann 687c01
@@ -2066,7 +2066,8 @@ again:
Bernhard M. Wiedemann 687c01
 		if (!wait_for_term_input(STDIN_FILENO)) {
Bernhard M. Wiedemann 687c01
 			eval_issue_file(ie, op, tp);
Bernhard M. Wiedemann 687c01
 			if (issue_is_changed(ie)) {
Bernhard M. Wiedemann 687c01
-				if (op->flags & F_VCONSOLE)
Bernhard M. Wiedemann 687c01
+				if ((op->flags & F_VCONSOLE)
Bernhard M. Wiedemann 687c01
+				    && (op->flags & F_NOCLEAR) == 0)
Bernhard M. Wiedemann 687c01
 					termio_clear(STDOUT_FILENO);
Bernhard M. Wiedemann 687c01
 				goto again;
Bernhard M. Wiedemann 687c01
 			}
Bernhard M. Wiedemann 687c01
@@ -2207,7 +2208,8 @@ static char *get_logname(struct issue *i
Bernhard M. Wiedemann 687c01
 			if (!issue_is_changed(ie))
Bernhard M. Wiedemann 687c01
 				goto no_reload;
Bernhard M. Wiedemann 687c01
 			tcflush(STDIN_FILENO, TCIFLUSH);
Bernhard M. Wiedemann 687c01
-			if (op->flags & F_VCONSOLE)
Bernhard M. Wiedemann 687c01
+			if ((op->flags & F_VCONSOLE)
Bernhard M. Wiedemann 687c01
+			    && (op->flags & F_NOCLEAR) == 0)
Bernhard M. Wiedemann 687c01
 				termio_clear(STDOUT_FILENO);
Bernhard M. Wiedemann 687c01
 			bp = logname;
Bernhard M. Wiedemann 687c01
 			*bp = '\0';