1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-10-28 04:46:17 +00:00

Don't play games with FILE* stdin/out/err, only touch "real" descriptors.

This commit is contained in:
Alexander Barton 2005-02-10 16:55:52 +00:00
parent 1fdd5478c6
commit f2fbf206b6

View File

@ -14,7 +14,7 @@
#include "portab.h"
static char UNUSED id[] = "$Id: ngircd.c,v 1.92 2005/02/10 13:09:11 alex Exp $";
static char UNUSED id[] = "$Id: ngircd.c,v 1.93 2005/02/10 16:55:52 alex Exp $";
#include "imp.h"
#include <assert.h>
@ -646,18 +646,13 @@ Setup_FDStreams( VOID )
if ( fd < 0 ) return;
/* Close "old" stdin/out/err descriptors */
fclose( stdin ); fclose( stdout ); fclose( stderr );
close( 0 ); close( 1 ); close( 2 );
/* Create new stdin(0), stdout(1) and stderr(2) descriptors */
dup2( fd, 0 ); dup2( fd, 1 ); dup2( fd, 2 );
/* Close newly opened file descriptor if not stdin/out/err */
if( fd > 2 ) close( fd );
/* Assign FILE handles for stdin/out/err */
stdin = fdopen( 0, "r" );
stdout = fdopen( 1, "w" );
stderr = fdopen( 2, "w" );
} /* Setup_FDStreams */