|  | @@ -0,0 +1,39 @@
 | 
	
		
			
				|  |  | +--- qingy-1.0.0.orig/src/libraries/vt.c	2008-11-25 12:21:28.000000000 +0100
 | 
	
		
			
				|  |  | ++++ qingy-1.0.0/src/libraries/vt.c	2014-01-20 07:53:43.000000000 +0100
 | 
	
		
			
				|  |  | +@@ -98,14 +98,15 @@ static int getfd()
 | 
	
		
			
				|  |  | + int switch_to_tty(int tty)
 | 
	
		
			
				|  |  | + {
 | 
	
		
			
				|  |  | +   char *ttyname = create_tty_name(tty);
 | 
	
		
			
				|  |  | ++  FILE *_stdin, *_stdout, *_stderr;
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  | +   if (!ttyname) return 0;
 | 
	
		
			
				|  |  | +   /* we set stdin, stdout and stderr to the new tty */
 | 
	
		
			
				|  |  | +-  stdin  = freopen(ttyname, "r", stdin);
 | 
	
		
			
				|  |  | +-  stdout = freopen(ttyname, "w", stdout);
 | 
	
		
			
				|  |  | +-  stderr = freopen(ttyname, "w", stderr);
 | 
	
		
			
				|  |  | ++  _stdin  = freopen(ttyname, "r", stdin);
 | 
	
		
			
				|  |  | ++  _stdout = freopen(ttyname, "w", stdout);
 | 
	
		
			
				|  |  | ++  _stderr = freopen(ttyname, "w", stderr);
 | 
	
		
			
				|  |  | +   free(ttyname);
 | 
	
		
			
				|  |  | +-  if (!stdin || !stdout || !stderr) return 0;
 | 
	
		
			
				|  |  | ++  if (!_stdin || !_stdout || !_stderr) return 0;
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +   return 1;
 | 
	
		
			
				|  |  | + }
 | 
	
		
			
				|  |  | +@@ -197,6 +198,7 @@ void stderr_disable(void)
 | 
	
		
			
				|  |  | + void stderr_enable(int *vt)
 | 
	
		
			
				|  |  | + {
 | 
	
		
			
				|  |  | +   char *ttyname;
 | 
	
		
			
				|  |  | ++  FILE *_stderr;
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | + 	if (!vt)
 | 
	
		
			
				|  |  | + 		ttyname = create_tty_name(get_active_tty());
 | 
	
		
			
				|  |  | +@@ -205,7 +207,7 @@ void stderr_enable(int *vt)
 | 
	
		
			
				|  |  | +   
 | 
	
		
			
				|  |  | +   if (!ttyname) return;
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +-	stderr = fopen(ttyname, "w");
 | 
	
		
			
				|  |  | ++	_stderr = freopen(ttyname, "w", stderr);
 | 
	
		
			
				|  |  | +   free(ttyname);
 | 
	
		
			
				|  |  | + }
 | 
	
		
			
				|  |  | + 
 |