url.lua:remove_dot_components(): use temporary NUL marker to reduce empty-segment special-case code
This commit is contained in:
parent
38d936ec0e
commit
ca5398be09
2 changed files with 7 additions and 2 deletions
|
@ -85,11 +85,11 @@ end
|
|||
local function remove_dot_components(path)
|
||||
repeat
|
||||
local was = path
|
||||
path = path:gsub('/%./', '/', 1)
|
||||
path = path:gsub('//', '/'..0x00..'/', 1)
|
||||
until path == was
|
||||
repeat
|
||||
local was = path
|
||||
path = path:gsub('//%.%./([^/]+)', '/%1', 1)
|
||||
path = path:gsub('/%./', '/', 1)
|
||||
until path == was
|
||||
repeat
|
||||
local was = path
|
||||
|
@ -99,6 +99,7 @@ local function remove_dot_components(path)
|
|||
path = path:gsub('/%.%.$', '/')
|
||||
path = path:gsub('/%.$', '/')
|
||||
path = path:gsub('^/%.%./', '/')
|
||||
path = path:gsub(0x00, '')
|
||||
return path
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue