/* stderr.c: Redirect stderr */
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
static int old_handle = -1;
int redir_stderr(char *fname)
{
int fd = open(fname,0_WRONLY|0_CREAT|0_TEXT,S_IWRITE);
assert(fd >= 0);
old_handle = dup(fileno(stderr));
dup2(fd,fileno(stderr));
close(fd);
return fd;
}
void restore_stderr()
{
if (old_handle != -1)
{
dup2(old_handle,fileno(stderr));
close(old_handle);
old_handle = -1;
}
}
/* End of File */