aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/lfs_ext.lua3
-rw-r--r--core/ui.lua3
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