From b2576f5c9a5bea21ec18dbbbe7f326288a95ee54 Mon Sep 17 00:00:00 2001 From: gkoehler Date: Sat, 23 Aug 2025 16:48:17 +0000 Subject: [PATCH] Echo the 1st key: "boot> sd.rd" => "boot> bsd.rd" ok visa@ --- sys/arch/octeon/stand/rdboot/cmd.c | 8 ++++++-- sys/arch/octeon/stand/rdboot/rdboot.c | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/arch/octeon/stand/rdboot/cmd.c b/sys/arch/octeon/stand/rdboot/cmd.c index 2b0a1c36309..d8743e134d3 100644 --- a/sys/arch/octeon/stand/rdboot/cmd.c +++ b/sys/arch/octeon/stand/rdboot/cmd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd.c,v 1.5 2024/08/08 13:59:11 miod Exp $ */ +/* $OpenBSD: cmd.c,v 1.6 2025/08/23 16:48:17 gkoehler Exp $ */ /* * Copyright (c) 1997-1999 Michael Shalayeff @@ -252,7 +252,7 @@ readline(char *buf, size_t n, int to) struct timeval tv; fd_set fdset; char *p; - int timed_out = 0; + int c, timed_out = 0; #ifdef DEBUG extern int debug; #endif @@ -271,6 +271,10 @@ readline(char *buf, size_t n, int to) tv.tv_usec = 0; if (select(STDIN_FILENO + 1, &fdset, NULL, NULL, &tv) == 0) timed_out = 1; + else if ((c = getchar()) != EOF) { + putchar(c); /* Echo. */ + ungetc(c, stdin); + } /* Restore canonical mode. */ tcsetattr(STDIN_FILENO, TCSANOW, &saved_tio); diff --git a/sys/arch/octeon/stand/rdboot/rdboot.c b/sys/arch/octeon/stand/rdboot/rdboot.c index 9db44ddd53d..3a0c9d20b8a 100644 --- a/sys/arch/octeon/stand/rdboot/rdboot.c +++ b/sys/arch/octeon/stand/rdboot/rdboot.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rdboot.c,v 1.9 2023/10/20 19:55:49 kn Exp $ */ +/* $OpenBSD: rdboot.c,v 1.10 2025/08/23 16:48:17 gkoehler Exp $ */ /* * Copyright (c) 2019-2020 Visa Hankala @@ -51,7 +51,7 @@ void kexec(int); struct cmd_state cmd; int octbootfd = -1; -const char version[] = "1.4"; +const char version[] = "1.5"; int main(void)