Fix bug in optimization of wxExpandEnvVars.
Fixes: lp:1785228 * https://bugs.launchpad.net/kicad/+bug/1785228
This commit is contained in:
parent
9aaa235b7b
commit
345f57ccb8
|
@ -277,7 +277,7 @@ wxString KIwxExpandEnvVars(const wxString& str)
|
||||||
|
|
||||||
switch ( str_n.GetValue() ) {
|
switch ( str_n.GetValue() ) {
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
case wxT('%'):
|
case wxT('%'):
|
||||||
#endif // __WINDOWS__
|
#endif // __WINDOWS__
|
||||||
case wxT('$'):
|
case wxT('$'):
|
||||||
{
|
{
|
||||||
|
@ -294,12 +294,12 @@ wxString KIwxExpandEnvVars(const wxString& str)
|
||||||
switch ( str[n + 1].GetValue() ) {
|
switch ( str[n + 1].GetValue() ) {
|
||||||
case wxT('('):
|
case wxT('('):
|
||||||
bracket = Bracket_Normal;
|
bracket = Bracket_Normal;
|
||||||
n++; // skip the bracket
|
str_n = str[++n]; // skip the bracket
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxT('{'):
|
case wxT('{'):
|
||||||
bracket = Bracket_Curly;
|
bracket = Bracket_Curly;
|
||||||
n++; // skip the bracket
|
str_n = str[++n]; // skip the bracket
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -362,13 +362,15 @@ wxString KIwxExpandEnvVars(const wxString& str)
|
||||||
}
|
}
|
||||||
|
|
||||||
n = m - 1; // skip variable name
|
n = m - 1; // skip variable name
|
||||||
|
str_n = str[n];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxT('\\'):
|
case wxT('\\'):
|
||||||
// backslash can be used to suppress special meaning of % and $
|
// backslash can be used to suppress special meaning of % and $
|
||||||
if ( n != strlen - 1 && (str[n + 1] == wxT('%') || str[n + 1] == wxT('$')) ) {
|
if ( n != strlen - 1 && (str[n + 1] == wxT('%') || str[n + 1] == wxT('$')) ) {
|
||||||
strResult += str[++n];
|
str_n = str[++n];
|
||||||
|
strResult += str_n;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue