diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2007-01-26 13:35:52 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2007-01-26 13:35:52 +0100 |
commit | 1ebfeda1d2cb1a6431c6a0ce36979e842188e466 (patch) | |
tree | c44cda3ed99894a94e313ba58312369a7ed4fc7a /config.c | |
parent | aec92c1334c29c3f2c94f87c41a4dd5cc7dca0f9 (diff) | |
download | vdr-1ebfeda1d2cb1a6431c6a0ce36979e842188e466.tar.gz vdr-1ebfeda1d2cb1a6431c6a0ce36979e842188e466.tar.bz2 |
Now using cPipe instead of popen() in cCommand::Execute()
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.146 2006/07/22 11:57:51 kls Exp $ + * $Id: config.c 1.146.1.1 2007/01/26 13:32:19 kls Exp $ */ #include "config.h" @@ -67,8 +67,8 @@ const char *cCommand::Execute(const char *Parameters) asprintf(&cmdbuf, "%s %s", command, Parameters); const char *cmd = cmdbuf ? cmdbuf : command; dsyslog("executing command '%s'", cmd); - FILE *p = popen(cmd, "r"); - if (p) { + cPipe p; + if (p.Open(cmd, "r")) { int l = 0; int c; while ((c = fgetc(p)) != EOF) { @@ -78,7 +78,7 @@ const char *cCommand::Execute(const char *Parameters) } if (result) result[l] = 0; - pclose(p); + p.Close(); } else esyslog("ERROR: can't open pipe for command '%s'", cmd); |