mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-03-28 14:56:28 +01:00
Avoid null value being converted to "null" string in environment (#1096)
If the CDT Variable is APPEND or PREPEND, and the incoming environment did not contain that variable name, the resulting environment would have null. For example, if PATH was not set on the incoming environment, and PATH was supposed to be prepended with /usr/bin, this method would have set PATH=/usr/bin:null This change ensures that the delimeter + null are not prended/appended when the incoming value is null.
This commit is contained in:
parent
6f818cdffe
commit
74c4844357
1 changed files with 16 additions and 4 deletions
|
@ -457,12 +457,24 @@ public class EnvironmentVariableManager implements IEnvironmentVariableManager {
|
||||||
case IEnvironmentVariable.ENVVAR_REPLACE:
|
case IEnvironmentVariable.ENVVAR_REPLACE:
|
||||||
env.put(name, var.getValue());
|
env.put(name, var.getValue());
|
||||||
break;
|
break;
|
||||||
case IEnvironmentVariable.ENVVAR_APPEND:
|
case IEnvironmentVariable.ENVVAR_APPEND: {
|
||||||
env.put(name, env.get(name) + var.getDelimiter() + var.getValue());
|
String oldValue = env.get(name);
|
||||||
|
if (oldValue == null) {
|
||||||
|
env.put(name, var.getValue());
|
||||||
|
} else {
|
||||||
|
env.put(name, oldValue + var.getDelimiter() + var.getValue());
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case IEnvironmentVariable.ENVVAR_PREPEND:
|
}
|
||||||
env.put(name, var.getValue() + var.getDelimiter() + env.get(name));
|
case IEnvironmentVariable.ENVVAR_PREPEND: {
|
||||||
|
String oldValue = env.get(name);
|
||||||
|
if (oldValue == null) {
|
||||||
|
env.put(name, var.getValue());
|
||||||
|
} else {
|
||||||
|
env.put(name, var.getValue() + var.getDelimiter() + oldValue);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case IEnvironmentVariable.ENVVAR_REMOVE:
|
case IEnvironmentVariable.ENVVAR_REMOVE:
|
||||||
env.remove(name);
|
env.remove(name);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue