From a6a73f47d6be78e083e96829efa3f03752f3f539 Mon Sep 17 00:00:00 2001 From: joe di castro Date: Tue, 5 Nov 2013 21:08:42 +0100 Subject: mpd: workaround command termination bug in mpd server v0.18 See Debian bug report #728982 for more information. Signed-off-by: Adrian C. (anrxc) --- widgets/mpd.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/widgets/mpd.lua b/widgets/mpd.lua index e4bcb0b..b8d08df 100644 --- a/widgets/mpd.lua +++ b/widgets/mpd.lua @@ -37,10 +37,11 @@ local function worker(format, warg) -- Construct MPD client options local mpdh = "telnet://"..host..":"..port - local echo = "echo 'password "..pass.."\nstatus\ncurrentsong\nclose'" + local echo = '{ echo "password '..pass..'"; echo "status";' .. + 'echo "currentsong"; sleep .1; echo "close";}' -- Get data from MPD server - local f = io.popen(echo.." | curl --connect-timeout 1 -fsm 3 "..mpdh) + local f = io.popen(echo.." | curl --connect-timeout 1 -fs "..mpdh) for line in f:lines() do for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do -- cgit v1.2.3