webmcp
view framework/env/encode/file_path_element.lua @ 31:1cd9e69b85cb
add execute.load_chunk(args)
load_chunk loads the content of a lua file and returns the code.
It can construct the path name easily so you can put helper code in
seperate files for DRYness.
load_chunk loads the content of a lua file and returns the code.
It can construct the path name easily so you can put helper code in
seperate files for DRYness.
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Tue Oct 05 02:34:04 2010 +0200 (2010-10-05) |
parents | 9fdfb27f8e67 |
children |
line source
1 --[[--
2 encoded_path_element = -- string which can't contain evil stuff like "/"
3 encode.file_path_element(
4 path_element -- string to be encoded
5 )
7 This function is encoding a string in a way that it can be used as a file or directory name, without security risks. See the source for details.
9 --]]--
11 function encode.file_path_element(path_element)
12 return (
13 string.gsub(
14 string.gsub(
15 path_element, "[^0-9A-Za-z_%.-]",
16 function(char)
17 return string.format("%%%02x", string.byte(char))
18 end
19 ), "^%.", string.format("%%%%%02x", string.byte("."))
20 )
21 )
22 end