make output capturing functions more robust

This commit is contained in:
Sami Samhuri 2011-05-01 19:16:18 -07:00
parent 81aba19868
commit 7dbea04337

View file

@ -14,8 +14,13 @@
#include <unistd.h>
#include "laketest.h"
static int captured = 0;
static void capture_output(void)
{
if (captured) return;
captured = 1;
int fd = open("./tmp", O_WRONLY);
close(2);
int newfd = dup(fd);
@ -29,6 +34,9 @@ static void capture_output(void)
void restore_output(void)
{
if (!captured) return;
captured = 0;
freopen("/dev/tty", "a", stdout);
freopen("/dev/tty", "a", stderr);
unlink("./tmp");