From ec3f8b5f3eaa2c9deb3e78b375500c64817de5a6 Mon Sep 17 00:00:00 2001 From: hardfau1t Date: Tue, 29 Apr 2025 11:25:16 +0530 Subject: [PATCH 1/2] fixes issue #83 --- src/client.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client.rs b/src/client.rs index 19452bf0..277b3ce6 100644 --- a/src/client.rs +++ b/src/client.rs @@ -491,7 +491,12 @@ impl Client { // Reflection methods {{{ /// Get current music directory pub fn music_directory(&mut self) -> Result { - self.run_command("config", ()).and_then(|_| self.read_field("music_directory")) + self.run_command("config", ()).and_then(|_| loop { + let (key, value) = self.read_pair()?; + if key == "music_directory" { + break Ok(value) + } + }) } /// List all available commands From 715b9c7b3a0551df326edcd829252d2b8dbdb1f0 Mon Sep 17 00:00:00 2001 From: hardfau1t Date: Tue, 29 Apr 2025 13:19:27 +0530 Subject: [PATCH 2/2] fix(client): once music directory is queried, drain the buffer --- src/client.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/client.rs b/src/client.rs index 277b3ce6..034d70a2 100644 --- a/src/client.rs +++ b/src/client.rs @@ -494,6 +494,7 @@ impl Client { self.run_command("config", ()).and_then(|_| loop { let (key, value) = self.read_pair()?; if key == "music_directory" { + self.drain()?; break Ok(value) } })