Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Windows 98: environment variable reading

All,

  This fix addressess a problem I was seeing under Windows 98
when I had no tools installed (no cygwin, no make etc), but 
still wanted to create a C project and edit files.   Upon 
project creation the dialog would freeze at the EnvironmentReader.
getEnvVars() call.  I tracked it down to a problem where the
getLine wasn't returning.  I've added an aditional check now
(only enabled for Windows 9x) and now projects are being made.

  Here is the patch.

Thomas
-------------------------------------------------------------
Thomas (toe-mah) Fletcher       QNX Software Systems
thomasf@xxxxxxx                 Core OS Technology Developer
(613)-591-0931                  http://www.qnx.com/


Index: EnvironmentReader.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/spawner/EnvironmentReader.java,v
retrieving revision 1.1
diff -u -r1.1 EnvironmentReader.java
--- EnvironmentReader.java	26 Jun 2002 20:38:33 -0000	1.1
+++ EnvironmentReader.java	8 Aug 2002 02:05:25 -0000
@@ -28,9 +28,12 @@
 		rawVars = new Vector(32);
 		String command = "env";
 		InputStream	in = null;
+		boolean 	check_ready = false;
 		try {
 			if (OS.indexOf("windows 9") > -1) {
 				command = "command.com /c set";
+				//The buffered stream doesn't always like windows 98
+				check_ready = true;
 			} else if ((OS.indexOf("nt") > -1) || (OS.indexOf("windows 2000") > -1)) {
 				command = "cmd.exe /c set";
 			}
@@ -47,6 +50,9 @@
 					envVars.setProperty(key, value);
 				} else {
 					envVars.setProperty(line, "");
+				}
+				if(check_ready && br.ready() == false) {
+					break;
 				}
 			}
 		} catch (IOException e) {



Back to the top