webmcp
annotate framework/env/locale/set.lua @ 142:a686ed2ce967
Protect json.import(...) against Lua stack overflows (or integer overflows) due to too many nested levels
| author | jbe |
|---|---|
| date | Wed Jul 30 02:01:24 2014 +0200 (2014-07-30) |
| parents | 9fdfb27f8e67 |
| children | c3d539e33710 |
| rev | line source |
|---|---|
| jbe/bsw@0 | 1 --[[-- |
| jbe/bsw@0 | 2 locale.set( |
| jbe/bsw@0 | 3 locale_options -- table with locale categories as keys and their settings as values |
| jbe/bsw@0 | 4 ) |
| jbe/bsw@0 | 5 |
| jbe/bsw@0 | 6 This function is used to set locale settings. The table given as first and only argument contains locale categories (e.g. "lang" or "time") as keys, and their settings as values. If there is a key 'reset' with a true value, then all non mentioned categories will be reset to nil. |
| jbe/bsw@0 | 7 |
| jbe/bsw@0 | 8 --]]-- |
| jbe/bsw@0 | 9 |
| jbe/bsw@0 | 10 function locale.set(locale_options) |
| jbe/bsw@0 | 11 if locale_options.reset then |
| jbe/bsw@0 | 12 locale._current_data = {} |
| jbe/bsw@0 | 13 end |
| jbe/bsw@0 | 14 for key, value in pairs(locale_options) do |
| jbe/bsw@0 | 15 if key ~= "reset" then |
| jbe/bsw@0 | 16 locale._current_data[key] = value |
| jbe/bsw@0 | 17 end |
| jbe/bsw@0 | 18 end |
| jbe/bsw@0 | 19 end |