aboutsummaryrefslogtreecommitdiff
path: root/src/backends
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2019-06-30 10:53:24 +0000
committerRobin Krahl <robin.krahl@ireas.org>2019-06-30 12:56:21 +0200
commit3e3a2e5394a619807f9f4930263ccf4d3fee269a (patch)
tree7ffe3622d9aa8711f30a1bdcac4f6e8e49f0b0bc /src/backends
parent3b1b083182aa8662815478db092be4358e467a7e (diff)
downloaddialog-rs-3e3a2e5394a619807f9f4930263ccf4d3fee269a.tar.gz
dialog-rs-3e3a2e5394a619807f9f4930263ccf4d3fee269a.tar.bz2
Fix input and password dialogs for zenity backend
Previously, we tried to read the user input from zenity’s stderr although it is written to stdout. This patch changes the zenity backend to read from stdout instead of stderr. It also removes trailing newlines from the user input, as zenity adds a newline when writing the input.
Diffstat (limited to 'src/backends')
-rw-r--r--src/backends/zenity.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backends/zenity.rs b/src/backends/zenity.rs
index 0730c64..85206b3 100644
--- a/src/backends/zenity.rs
+++ b/src/backends/zenity.rs
@@ -128,8 +128,8 @@ fn get_choice(status: process::ExitStatus) -> Result<Choice> {
fn get_stdout(output: process::Output) -> Result<Option<String>> {
if output.status.success() {
- String::from_utf8(output.stderr)
- .map(|s| Some(s))
+ String::from_utf8(output.stdout)
+ .map(|s| Some(s.trim_end_matches('\n').to_string()))
.map_err(|err| Error::from(err))
} else {
if let Some(code) = output.status.code() {