From 61fa3e6da76fda9cb858eddf6d10b5127daec95d Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Fri, 3 Jan 2014 20:55:04 -0500 Subject: Handle './' and '../' sequences in filepaths; core/file_io.lua --- core/file_io.lua | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'core') diff --git a/core/file_io.lua b/core/file_io.lua index 857692c3..7c65fd1e 100644 --- a/core/file_io.lua +++ b/core/file_io.lua @@ -116,6 +116,10 @@ function io.open_file(filenames) for i = 1, #filenames do local filename = filenames[i]:gsub('^file://', '') if WIN32 then filename = filename:gsub('/', '\\') end + filename = filename:gsub('%f[^/\\]%.[/\\]', '') -- clean up './' + while filename:find('[^/\\]+[/\\]%.%.[/\\]') do + filename = filename:gsub('[^/\\]+[/\\]%.%.[/\\]', '') -- clean up '../' + end for i, buffer in ipairs(_BUFFERS) do if filename == buffer.filename then view:goto_buffer(i) goto continue end end -- cgit v1.2.3