May need to convert to UNIX style paths twice (before & after resolving).
Fixes https://gitlab.com/kicad/code/kicad/issues/13591
This commit is contained in:
parent
f7ebaf1bab
commit
3e55719831
|
@ -554,16 +554,15 @@ void NETLIST_EXPORTER_SPICE::writeInclude( OUTPUTFORMATTER& aFormatter, unsigned
|
||||||
// First, expand env vars, if any.
|
// First, expand env vars, if any.
|
||||||
wxString expandedPath = ExpandEnvVarSubstitutions( aPath, &m_schematic->Prj() );
|
wxString expandedPath = ExpandEnvVarSubstitutions( aPath, &m_schematic->Prj() );
|
||||||
|
|
||||||
// Handle windows paths
|
// Path may have been authored by someone on a Windows box; convert it to UNIX format
|
||||||
expandedPath.Replace( wxS( "\\" ), wxS( "/" ) );
|
expandedPath.Replace( '\\', '/' );
|
||||||
|
|
||||||
wxString fullPath;
|
wxString fullPath;
|
||||||
|
|
||||||
if( aNetlistOptions & OPTION_ADJUST_INCLUDE_PATHS )
|
if( aNetlistOptions & OPTION_ADJUST_INCLUDE_PATHS )
|
||||||
{
|
{
|
||||||
// Look for the library in known search locations.
|
// Look for the library in known search locations.
|
||||||
fullPath = ResolveFile( expandedPath, &Pgm().GetLocalEnvVariables(),
|
fullPath = ResolveFile( expandedPath, &Pgm().GetLocalEnvVariables(), &m_schematic->Prj() );
|
||||||
&m_schematic->Prj() );
|
|
||||||
|
|
||||||
if( fullPath.IsEmpty() )
|
if( fullPath.IsEmpty() )
|
||||||
{
|
{
|
||||||
|
@ -572,6 +571,11 @@ void NETLIST_EXPORTER_SPICE::writeInclude( OUTPUTFORMATTER& aFormatter, unsigned
|
||||||
expandedPath ) );
|
expandedPath ) );
|
||||||
fullPath = expandedPath;
|
fullPath = expandedPath;
|
||||||
}
|
}
|
||||||
|
else if( wxFileName::GetPathSeparator() == '\\' )
|
||||||
|
{
|
||||||
|
// Convert it to UNIX format (again) if ResolveFile() returned a Windows style path
|
||||||
|
fullPath.Replace( '\\', '/' );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue