webmcp
annotate framework/env/encode/file_path_element.lua @ 23:3a6fe8663b26
Code cleanup and documentation added; Year in copyright notice changed to 2009-2010
Details:
- Changed quoting style in auth.openid.xrds_document{...}
- Fixed documentation for auth.openid.initiate{...}
- Added documentation for mondelefant
- Code-cleanup in mondelefant:
-- removed unneccessary lines "rows = PQntuples(res); cols = PQnfields(res);"
-- avoided extra copy of first argument (self) in mondelefant_conn_query
-- no rawget in meta-method "__index" of database result lists and objects
-- removed unreachable "return 0;" in meta-method "__newindex" of database result lists and objects
- Year in copyright notice changed to 2009-2010
- Version string changed to "1.1.1"
Details:
- Changed quoting style in auth.openid.xrds_document{...}
- Fixed documentation for auth.openid.initiate{...}
- Added documentation for mondelefant
- Code-cleanup in mondelefant:
-- removed unneccessary lines "rows = PQntuples(res); cols = PQnfields(res);"
-- avoided extra copy of first argument (self) in mondelefant_conn_query
-- no rawget in meta-method "__index" of database result lists and objects
-- removed unreachable "return 0;" in meta-method "__newindex" of database result lists and objects
- Year in copyright notice changed to 2009-2010
- Version string changed to "1.1.1"
| author | jbe |
|---|---|
| date | Fri Jun 04 19:00:34 2010 +0200 (2010-06-04) |
| parents | 9fdfb27f8e67 |
| children |
| rev | line source |
|---|---|
| jbe/bsw@0 | 1 --[[-- |
| jbe/bsw@0 | 2 encoded_path_element = -- string which can't contain evil stuff like "/" |
| jbe/bsw@0 | 3 encode.file_path_element( |
| jbe/bsw@0 | 4 path_element -- string to be encoded |
| jbe/bsw@0 | 5 ) |
| jbe/bsw@0 | 6 |
| jbe/bsw@0 | 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. |
| jbe/bsw@0 | 8 |
| jbe/bsw@0 | 9 --]]-- |
| jbe/bsw@0 | 10 |
| jbe/bsw@0 | 11 function encode.file_path_element(path_element) |
| jbe/bsw@0 | 12 return ( |
| jbe/bsw@0 | 13 string.gsub( |
| jbe/bsw@0 | 14 string.gsub( |
| jbe/bsw@0 | 15 path_element, "[^0-9A-Za-z_%.-]", |
| jbe/bsw@0 | 16 function(char) |
| jbe/bsw@0 | 17 return string.format("%%%02x", string.byte(char)) |
| jbe/bsw@0 | 18 end |
| jbe/bsw@0 | 19 ), "^%.", string.format("%%%%%02x", string.byte(".")) |
| jbe/bsw@0 | 20 ) |
| jbe/bsw@0 | 21 ) |
| jbe/bsw@0 | 22 end |