Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 04a6a5f3b727f10487ed3ad1b96f8e92 > files > 16

pxe-1.4.2-21.mga3.src.rpm

--- pxe.cc	2004-09-14 12:38:34.290402879 +0200
+++ pxe.cc.new	2004-09-14 12:39:01.188937196 +0200
@@ -219,6 +219,10 @@
 	int _debug, c, errflg;
 	const char *configfile=PXECONFIGFILE;
 	std::fstream debug;
+	// Save buffers of stdin/stderr/stdout
+	std::streambuf *out_buffer = std::cout.rdbuf();
+	std::streambuf *err_buffer = std::cerr.rdbuf();
+	std::streambuf *in_buffer = std::cin.rdbuf();
 
 	errflg = _debug = 0;
 	// get the command line opts
@@ -330,6 +332,9 @@
 	} else { // debug
 		StartPxeService(configfile);
 	}
-	
+	// Restore stdout/stderr/stdin to avoid a segfault
+	std::cout.rdbuf(out_buffer);
+	std::cerr.rdbuf(err_buffer);
+	std::cin.rdbuf(in_buffer);
 	return(0);
 }