From 66c209f9e4b617c8ff52b5a6c4b9b86fdc34c2a1 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sat, 5 Mar 2022 10:38:16 -0700 Subject: [PATCH] reset ReadlineStream from read_query_line (#1317, #1285) --- src/machine/streams.rs | 3 ++- src/read.rs | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/machine/streams.rs b/src/machine/streams.rs index 1b512e51..9d76c898 100644 --- a/src/machine/streams.rs +++ b/src/machine/streams.rs @@ -1053,7 +1053,8 @@ impl Stream { file_stream.stream.get_mut().file.seek(SeekFrom::Start(0)).unwrap(); return true; } - Stream::Readline(_) => { + Stream::Readline(ref mut readline_stream) => { + readline_stream.reset(); return true; } _ => { diff --git a/src/read.rs b/src/read.rs index def66b10..72dc9900 100644 --- a/src/read.rs +++ b/src/read.rs @@ -111,6 +111,12 @@ impl ReadlineStream { } } + #[inline] + pub fn reset(&mut self) { + self.pending_input.get_mut().clear(); + self.pending_input.set_position(0); + } + fn call_readline(&mut self) -> std::io::Result { match self.rl.readline(get_prompt()) { Ok(text) => { -- 2.54.0