diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/lfs_ext.lua | 3 | ||||
-rw-r--r-- | core/ui.lua | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/core/lfs_ext.lua b/core/lfs_ext.lua index 52333796..8b96b861 100644 --- a/core/lfs_ext.lua +++ b/core/lfs_ext.lua @@ -113,7 +113,8 @@ end -- @name abspath function lfs.abspath(filename, prefix) if WIN32 then filename = filename:gsub('/', '\\') end - if not filename:find(not WIN32 and '^/' or '^%a:[/\\]') then + if not filename:find(not WIN32 and '^/' or '^%a:[/\\]') and + not (WIN32 and filename:find('^\\\\')) then prefix = prefix or lfs.currentdir() filename = prefix..(not WIN32 and '/' or '\\')..filename end diff --git a/core/ui.lua b/core/ui.lua index da6e04a1..46e1c311 100644 --- a/core/ui.lua +++ b/core/ui.lua @@ -303,7 +303,8 @@ events_connect(events.URI_DROPPED, function(utf8_uris) uri = uri:match('^file://([^\r\n]+)'):gsub('%%(%x%x)', function(hex) return string.char(tonumber(hex, 16)) end) - if WIN32 then uri = uri:sub(2, -1) end -- ignore leading '/' + -- In WIN32, ignore a leading '/', but not '//' (network path). + if WIN32 and not uri:match('^//') then uri = uri:sub(2, -1) end local mode = lfs.attributes(uri, 'mode') if mode and mode ~= 'directory' then io.open_file(uri) end end |