mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Now using cPipe instead of popen() in cCommand::Execute()
This commit is contained in:
parent
aec92c1334
commit
1ebfeda1d2
@ -1114,6 +1114,8 @@ Reinhard Nissl <rnissl@gmx.de>
|
|||||||
for changing the behaviour when hitting the end of a recording in fast forward mode
|
for changing the behaviour when hitting the end of a recording in fast forward mode
|
||||||
for suggesting to give the cRemote::CallPlugin() function a boolean return value
|
for suggesting to give the cRemote::CallPlugin() function a boolean return value
|
||||||
for fixing a possible crash in remux.c on 64-bit machines
|
for fixing a possible crash in remux.c on 64-bit machines
|
||||||
|
for making cCommand::Execute() use cPipe instead of popen() to avoid problems
|
||||||
|
with open file handles when starting background commands
|
||||||
|
|
||||||
Richard Robson <richard_robson@beeb.net>
|
Richard Robson <richard_robson@beeb.net>
|
||||||
for reporting freezing replay if a timer starts while in Transfer Mode from the
|
for reporting freezing replay if a timer starts while in Transfer Mode from the
|
||||||
|
3
HISTORY
3
HISTORY
@ -5032,3 +5032,6 @@ Video Disk Recorder Revision History
|
|||||||
2007-01-26: Version 1.4.5-1
|
2007-01-26: Version 1.4.5-1
|
||||||
|
|
||||||
- Fixed i18n characters for the Hungarian texts (thanks to Thomas Günther).
|
- Fixed i18n characters for the Hungarian texts (thanks to Thomas Günther).
|
||||||
|
- Now using cPipe instead of popen() in cCommand::Execute() to avoid problems
|
||||||
|
with open file handles when starting background commands (thanks to Reinhard
|
||||||
|
Nissl).
|
||||||
|
8
config.c
8
config.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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"
|
#include "config.h"
|
||||||
@ -67,8 +67,8 @@ const char *cCommand::Execute(const char *Parameters)
|
|||||||
asprintf(&cmdbuf, "%s %s", command, Parameters);
|
asprintf(&cmdbuf, "%s %s", command, Parameters);
|
||||||
const char *cmd = cmdbuf ? cmdbuf : command;
|
const char *cmd = cmdbuf ? cmdbuf : command;
|
||||||
dsyslog("executing command '%s'", cmd);
|
dsyslog("executing command '%s'", cmd);
|
||||||
FILE *p = popen(cmd, "r");
|
cPipe p;
|
||||||
if (p) {
|
if (p.Open(cmd, "r")) {
|
||||||
int l = 0;
|
int l = 0;
|
||||||
int c;
|
int c;
|
||||||
while ((c = fgetc(p)) != EOF) {
|
while ((c = fgetc(p)) != EOF) {
|
||||||
@ -78,7 +78,7 @@ const char *cCommand::Execute(const char *Parameters)
|
|||||||
}
|
}
|
||||||
if (result)
|
if (result)
|
||||||
result[l] = 0;
|
result[l] = 0;
|
||||||
pclose(p);
|
p.Close();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
esyslog("ERROR: can't open pipe for command '%s'", cmd);
|
esyslog("ERROR: can't open pipe for command '%s'", cmd);
|
||||||
|
Loading…
Reference in New Issue
Block a user