Browse Source

Tweaks to windows libc.system to prevent consoles popping up.

Mark Sibly 9 years ago
parent
commit
632fd41521
1 changed files with 4 additions and 13 deletions
  1. 4 13
      modules/libc/native/libc.cpp

+ 4 - 13
modules/libc/native/libc.cpp

@@ -24,29 +24,20 @@ int system_( const char *cmd ){
 
 
 #if _WIN32
 #if _WIN32
 
 
-	bbString tmp;
-	
-	DWORD flags=0;
 	bool inherit=false;
 	bool inherit=false;
-	PROCESS_INFORMATION pi={0};
+	DWORD flags=CREATE_NO_WINDOW;
 	STARTUPINFOA si={sizeof(si)};
 	STARTUPINFOA si={sizeof(si)};
+	PROCESS_INFORMATION pi={0};
 	
 	
-	if( GetStdHandle( STD_OUTPUT_HANDLE ) ){
+	bbString tmp=BB_T( "cmd /S /C\"" )+BB_T( cmd )+BB_T( "\"" );
 	
 	
-		tmp=BB_T( "cmd /S /C\"" )+BB_T( cmd )+BB_T( "\"" );
+	if( GetStdHandle( STD_OUTPUT_HANDLE ) ){
 	
 	
 		inherit=true;
 		inherit=true;
-		
 		si.dwFlags=STARTF_USESTDHANDLES;
 		si.dwFlags=STARTF_USESTDHANDLES;
 		si.hStdInput=GetStdHandle( STD_INPUT_HANDLE );
 		si.hStdInput=GetStdHandle( STD_INPUT_HANDLE );
 		si.hStdOutput=GetStdHandle( STD_OUTPUT_HANDLE );
 		si.hStdOutput=GetStdHandle( STD_OUTPUT_HANDLE );
 		si.hStdError=GetStdHandle( STD_ERROR_HANDLE );
 		si.hStdError=GetStdHandle( STD_ERROR_HANDLE );
-		
-	}else{
-
-		tmp=cmd;
-
-		flags=CREATE_NO_WINDOW;
 	}
 	}
 	
 	
 	if( !CreateProcessA( 0,(LPSTR)tmp.c_str(),0,0,inherit,flags,0,0,&si,&pi ) ) return -1;
 	if( !CreateProcessA( 0,(LPSTR)tmp.c_str(),0,0,inherit,flags,0,0,&si,&pi ) ) return -1;