From 1cde86823d35606d5340adf940c6126b358b81fd Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 15 Oct 2013 22:52:04 +0200 Subject: [PATCH] output/pipe: use std::string --- src/output/PipeOutputPlugin.cxx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/output/PipeOutputPlugin.cxx b/src/output/PipeOutputPlugin.cxx index 2b830ef29..34d615284 100644 --- a/src/output/PipeOutputPlugin.cxx +++ b/src/output/PipeOutputPlugin.cxx @@ -24,15 +24,14 @@ #include "util/Error.hxx" #include "util/Domain.hxx" -#include +#include #include -#include struct PipeOutput { struct audio_output base; - char *cmd; + std::string cmd; FILE *fh; bool Initialize(const config_param ¶m, Error &error) { @@ -52,8 +51,8 @@ static constexpr Domain pipe_output_domain("pipe_output"); inline bool PipeOutput::Configure(const config_param ¶m, Error &error) { - cmd = param.DupBlockString("command"); - if (cmd == nullptr) { + cmd = param.GetBlockValue("command", ""); + if (cmd.empty()) { error.Set(config_domain, "No \"command\" parameter specified"); return false; @@ -86,7 +85,6 @@ pipe_output_finish(struct audio_output *ao) { PipeOutput *pd = (PipeOutput *)ao; - g_free(pd->cmd); pd->Deinitialize(); delete pd; } @@ -98,10 +96,10 @@ pipe_output_open(struct audio_output *ao, { PipeOutput *pd = (PipeOutput *)ao; - pd->fh = popen(pd->cmd, "w"); + pd->fh = popen(pd->cmd.c_str(), "w"); if (pd->fh == nullptr) { error.FormatErrno("Error opening pipe \"%s\"", - pd->cmd); + pd->cmd.c_str()); return false; }