aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/url.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/url.lua b/src/url.lua
index 10a9d90..466d4fa 100644
--- a/src/url.lua
+++ b/src/url.lua
@@ -85,11 +85,11 @@ end
85local function remove_dot_components(path) 85local function remove_dot_components(path)
86 repeat 86 repeat
87 local was = path 87 local was = path
88 path = path:gsub('/%./', '/', 1) 88 path = path:gsub('//', '/'..0x00..'/', 1)
89 until path == was 89 until path == was
90 repeat 90 repeat
91 local was = path 91 local was = path
92 path = path:gsub('//%.%./([^/]+)', '/%1', 1) 92 path = path:gsub('/%./', '/', 1)
93 until path == was 93 until path == was
94 repeat 94 repeat
95 local was = path 95 local was = path
@@ -99,6 +99,7 @@ local function remove_dot_components(path)
99 path = path:gsub('/%.%.$', '/') 99 path = path:gsub('/%.%.$', '/')
100 path = path:gsub('/%.$', '/') 100 path = path:gsub('/%.$', '/')
101 path = path:gsub('^/%.%./', '/') 101 path = path:gsub('^/%.%./', '/')
102 path = path:gsub(0x00, '')
102 return path 103 return path
103end 104end
104 105