On 9/16/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
bugzilla 28874: make env case insensitive for windows @@ -624,9 +627,17 @@ for (int i = 0; i < env.length; i++) { // Get key including "=" String key = env[i].substring(0, env[i].indexOf('=') + 1); + if (environmentCaseInSensitive) { + // Nb: using default locale as key is a env name + key = key.toLowerCase(); + } int size = osEnv.size(); for (int j = 0; j < size; j++) { - if (((String) osEnv.elementAt(j)).startsWith(key)) { + String osEnvItem = (String) osEnv.elementAt(j); + if (environmentCaseInSensitive) { + osEnvItem = osEnvItem.toLowerCase(); + } + if (osEnvItem.startsWith(key)) { osEnv.removeElementAt(j); break; }
Peter, can you please explain this patch a bit? I've also been bitten by the case of (PATH | Path | path) on Windows in the past, but solved it by assigning the Path's current env key and value to 2 properties, to ensure I was using the same case when assigning it for a sub-process. This is different than forcing env keys to be lower-case (case-insensitive), and that worries me a bit franckly... In my experience, the path *must* be assigned using the same case used by the Ant process, and going to all lower-case doesn't do that. This is critical when forking any process (<java>, <junit>, <exec>) that depends on Path (or PATH, or path) to be set properly to run. Thanks for any insight on this. Right-now I worried about this. --DD --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]