From 99b0ab2ee2faac7c6b1b39ae69b21ec6b2c1c956 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Fri, 16 Apr 2021 13:31:20 +0200 Subject: [PATCH] if an XSCHEM_LIBRARY_PATH item contains "../" somewhere in the directory path apply [file normalize ... ] to resolve the ../../path/ path to an absolute location. --- src/xschem.tcl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/xschem.tcl b/src/xschem.tcl index 9408f3e1..9798ad72 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -3078,11 +3078,11 @@ proc get_file_path {ff} { # Linux Windows if { [regexp {^/} $ff] || [regexp {^[a-zA-Z]:} $ff] } { return $ff } if {$::OS == "Windows"} { - set pathlist [split $env(PATH) \;] + set mylist [split $env(PATH) \;] } else { - set pathlist [split $env(PATH) :] + set mylist [split $env(PATH) :] } - foreach i $pathlist { + foreach i $mylist { set ii $i/$ff if { [file exists $ii]} {return $ii} } @@ -3389,8 +3389,10 @@ proc set_paths {} { regsub {^~} $i $env(HOME) i if { ![string compare $i .] } { lappend pathlist $i + } elseif { [ regexp {\.\.\/} $i] } { + lappend pathlist [file normalize $i] } elseif { [ file exists $i] } { - lappend pathlist ${i} + lappend pathlist $i } } }