webmcp
view framework/env/encode/file_path_element.lua @ 399:ef3201ed67f5
Bug in <db_handle>:try_query(...) fixed, which caused errors when result contains more than two columns (bug introduced by changeset fb98b17056e5)
author | jbe |
---|---|
date | Sun Jan 03 21:15:57 2016 +0100 (2016-01-03) |
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