From c59d83e22c251bc396502c18d6d618e900d8954c Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Fri, 13 Mar 2026 19:39:53 +1100 Subject: [PATCH] more path fixes - trim lhs forward slashes before file joins --- src/bootsupport/modules/punk/winlnk-0.1.0.tm | 4 ++-- src/modules/punk/winlnk-999999.0a1.0.tm | 4 ++-- .../src/bootsupport/modules/punk/winlnk-0.1.0.tm | 4 ++-- .../src/bootsupport/modules/punk/winlnk-0.1.0.tm | 4 ++-- src/vfs/_vfscommon.vfs/modules/punk/winlnk-0.1.0.tm | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/bootsupport/modules/punk/winlnk-0.1.0.tm b/src/bootsupport/modules/punk/winlnk-0.1.0.tm index 6b912f5d..9b06a855 100644 --- a/src/bootsupport/modules/punk/winlnk-0.1.0.tm +++ b/src/bootsupport/modules/punk/winlnk-0.1.0.tm @@ -615,10 +615,10 @@ tcl::namespace::eval punk::winlnk { if {"windows" eq $::tcl_platform(platform)} { set link_target [file join $localbase_path $suffix_path] } else { - set suffix_path [string map {\\ /} $suffix_path] + set suffix_path [string trimleft [string map {\\ /} $suffix_path] /] if {[regexp {([a-zA-Z]):\\(.*)} $localbase_path _match drive_letter tail]} { set localbase_path [string map {\\ /} $localbase_path] - set tail [string map {\\ /} $tail] + set tail [string trimleft [string map {\\ /} $tail] /] set link_target "" #shortcut basepath is a windows path with drive letter - try to resolve it on unix by looking for a corresponding mount from fstab or a point under /mnt set mountinfo [exec mount] diff --git a/src/modules/punk/winlnk-999999.0a1.0.tm b/src/modules/punk/winlnk-999999.0a1.0.tm index d2530600..35f5d75b 100644 --- a/src/modules/punk/winlnk-999999.0a1.0.tm +++ b/src/modules/punk/winlnk-999999.0a1.0.tm @@ -615,10 +615,10 @@ tcl::namespace::eval punk::winlnk { if {"windows" eq $::tcl_platform(platform)} { set link_target [file join $localbase_path $suffix_path] } else { - set suffix_path [string map {\\ /} $suffix_path] + set suffix_path [string trimleft [string map {\\ /} $suffix_path] /] if {[regexp {([a-zA-Z]):\\(.*)} $localbase_path _match drive_letter tail]} { set localbase_path [string map {\\ /} $localbase_path] - set tail [string map {\\ /} $tail] + set tail [string trimleft [string map {\\ /} $tail] /] set link_target "" #shortcut basepath is a windows path with drive letter - try to resolve it on unix by looking for a corresponding mount from fstab or a point under /mnt set mountinfo [exec mount] diff --git a/src/project_layouts/custom/_project/punk.project-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm b/src/project_layouts/custom/_project/punk.project-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm index 6b912f5d..9b06a855 100644 --- a/src/project_layouts/custom/_project/punk.project-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm +++ b/src/project_layouts/custom/_project/punk.project-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm @@ -615,10 +615,10 @@ tcl::namespace::eval punk::winlnk { if {"windows" eq $::tcl_platform(platform)} { set link_target [file join $localbase_path $suffix_path] } else { - set suffix_path [string map {\\ /} $suffix_path] + set suffix_path [string trimleft [string map {\\ /} $suffix_path] /] if {[regexp {([a-zA-Z]):\\(.*)} $localbase_path _match drive_letter tail]} { set localbase_path [string map {\\ /} $localbase_path] - set tail [string map {\\ /} $tail] + set tail [string trimleft [string map {\\ /} $tail] /] set link_target "" #shortcut basepath is a windows path with drive letter - try to resolve it on unix by looking for a corresponding mount from fstab or a point under /mnt set mountinfo [exec mount] diff --git a/src/project_layouts/custom/_project/punk.shell-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm b/src/project_layouts/custom/_project/punk.shell-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm index 6b912f5d..9b06a855 100644 --- a/src/project_layouts/custom/_project/punk.shell-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm +++ b/src/project_layouts/custom/_project/punk.shell-0.1/src/bootsupport/modules/punk/winlnk-0.1.0.tm @@ -615,10 +615,10 @@ tcl::namespace::eval punk::winlnk { if {"windows" eq $::tcl_platform(platform)} { set link_target [file join $localbase_path $suffix_path] } else { - set suffix_path [string map {\\ /} $suffix_path] + set suffix_path [string trimleft [string map {\\ /} $suffix_path] /] if {[regexp {([a-zA-Z]):\\(.*)} $localbase_path _match drive_letter tail]} { set localbase_path [string map {\\ /} $localbase_path] - set tail [string map {\\ /} $tail] + set tail [string trimleft [string map {\\ /} $tail] /] set link_target "" #shortcut basepath is a windows path with drive letter - try to resolve it on unix by looking for a corresponding mount from fstab or a point under /mnt set mountinfo [exec mount] diff --git a/src/vfs/_vfscommon.vfs/modules/punk/winlnk-0.1.0.tm b/src/vfs/_vfscommon.vfs/modules/punk/winlnk-0.1.0.tm index 6b912f5d..9b06a855 100644 --- a/src/vfs/_vfscommon.vfs/modules/punk/winlnk-0.1.0.tm +++ b/src/vfs/_vfscommon.vfs/modules/punk/winlnk-0.1.0.tm @@ -615,10 +615,10 @@ tcl::namespace::eval punk::winlnk { if {"windows" eq $::tcl_platform(platform)} { set link_target [file join $localbase_path $suffix_path] } else { - set suffix_path [string map {\\ /} $suffix_path] + set suffix_path [string trimleft [string map {\\ /} $suffix_path] /] if {[regexp {([a-zA-Z]):\\(.*)} $localbase_path _match drive_letter tail]} { set localbase_path [string map {\\ /} $localbase_path] - set tail [string map {\\ /} $tail] + set tail [string trimleft [string map {\\ /} $tail] /] set link_target "" #shortcut basepath is a windows path with drive letter - try to resolve it on unix by looking for a corresponding mount from fstab or a point under /mnt set mountinfo [exec mount]