Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpx/lua-cjson.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-08-24CJSON_EXPORT for msvcichenq
2016-04-13Fix build with g++Mark Pulford
- Add explicit casts for functions returning void* - Rename "try" variable to avoid reserved C++ keyword
2012-03-04Use Javascript compat values for Infinity/NaNMark Pulford
Use Javascript compatible values for Infinity/NaN when encoding invalid numbers.
2012-03-04Bump version to 2.1develMark Pulford
2012-03-04Add cjson.safe module to suppress exceptionsMark Pulford
Add cjson.safe module to suppress exceptions during JSON conversions.
2012-03-04Ignore DISABLE_INVALID_NUMBERS with builtin fpconvMark Pulford
2012-03-04Bump version to 2.0develMark Pulford
Bump version to 2.0devel due to significant changes and updated API (runtime config not fully backwards compatible).
2012-03-04Reserve stack slot for luaL_error() during encodeMark Pulford
Unlike "decode", encoding leaves both the key/value on the stack before descending. This leaves no spare room for luaL_error() in case the depth check or lua_checkstack() fails. Allocate an extra stack slot to ensure there is always room for luaL_error() in json_check_encode_depth(). Note: this would not have caused a crash or fault due to the EXTRA_STACK slot reserve, but it was a misuse of the Lua C API.
2012-03-04Remove deprecated "refuse_invalid_numbers"Mark Pulford
Remove deprecated "refuse_invalid_numbers" since the version number will be bumped to 1.1.0. Also remove "version" variable since it has been replaced by _VERSION.
2012-03-04Bump development version to 1.1develMark Pulford
2012-03-04Disable registration of cjson global variableMark Pulford
Disable registration of cjson module table global variable in the default build. Automatically creating a variable in the global namespace can cause issues for other software and is no longer recommended with Lua.
2012-03-04Return boolean values from configuration functionsMark Pulford
Return boolean values from configuration functions to simplify usage in the common case. Eg,: if not cjson.encode_invalid_numbers() then .. end
2012-03-04Add depth/index to decode depth error messageMark Pulford
Include depth and character index when throwing decode nesting errors. Pre-emptively add a test decoding a massively nested JSON array. Lua stack overflow faults are unlikely to occur on simple data structures. Valgrind can highlight stack allocation bugs with complicated JSON even if the test succeeds.
2012-03-04Fix Lua C function stack overflow during encodingMark Pulford
Ensure there are enough Lua stack slots available before descending into another table during encoding. This fixes a segfault when encoding deeply nested tables. This bug wasn't noticed earlier due to the previous limit of 20 nested tables.
2012-03-04Simplify configuration function codeMark Pulford
Simplify configuration functions by adding an argument position parameter to json_enum_option() and json_integer_option(). Create json_arg_init() to check the number of arguments and return the config data.
2012-03-04Merge lua_json_decode() into json_decode()Mark Pulford
Also ensure cjson.decode() only receives a single argument.
2012-03-04Update copyright date range to include 2012Mark Pulford
2012-03-04Change default nesting limits to 1000Mark Pulford
Increase the default nesting limits to reduce the chance of accidently throwing an error on valid JSON out of the box.
2012-03-04Add option to encode invalid numbers as "null"Mark Pulford
Deprecate and replace refuse_invalid_numbers() with encode_invalid_numbers() and decode_invalid_numbers().
2012-03-04Add configurable decode nesting limitMark Pulford
Lua 5.2 is able to extend the Lua stack much further than earlier versions. Recent testing shows it is possible for Lua CJSON to hit the process stack limit and segfault. Add a configurable JSON object/array nesting limit to prevent running out of process stack space. The current limit is 20 (same as encode). Add decode_max_depth() configuration function.
2012-03-04Improve performance by tracking decode ptrMark Pulford
Track pointer to the current location in the JSON string, instead of an index to the string array. Improves decode performance 1-10%. json_next_token(): - Clean up white space handling and leave "ch" containing the current non-whitespace character.
2012-01-02Fix typos (lists, hexadecimal)Mark Pulford
2012-01-01Add build option to disable invalid numbersMark Pulford
Windows MinGW doesn't convert Infinity/NaN/hexadecimal numbers. Add DISABLE_INVALID_NUMBERS build option option to disable invalid numbers.
2012-01-01Sanitise locale code, comments and documentationMark Pulford
2011-12-31Minor code cleanupMark Pulford
- Sanitised arg ordering to encode functions - Commented json->tmp to explain why decode string processing uses strbuf_*_unsafe() functions.
2011-12-31Remove "update_locale" Lua functionMark Pulford
Only update the locale when the module is initialised. cjson.new() can be used if the locale changes part way through program execution.
2011-12-31Add option for private bufferMark Pulford
When encode_keep_buffer is false, a private buffer will be used. This will allow multiple encoders to run within a single Lua state.
2011-12-31Remove shared current_depth var from cfg structMark Pulford
2011-12-30Add support for Lua 5.2 and cjson.newMark Pulford
Update all Lua scripts to use new module init style everywhere: local json = require "cjson" Lua CJSON does not register a global table under Lua 5.2. The global table can be disabled under Lua 5.1 with DISABLE_CJSON_GLOBAL. Other changes: - Store CJSON configuration as an upvalue for each function. - Add "cjson.new" function to create another module table with a separate configuration. - Add _NAME and _VERSION variables.
2011-12-30Add fpconv to work around comma decimal pointsMark Pulford
Create a separate buffer and translate comma <> dot before calling strtod(), and after calling sprintf() as required. - Add "update_locale" Lua API call and init locale on module load. - Move sprintf format string to fpconv
2011-12-29Remove POSIX locale workaroundMark Pulford
2011-12-24Fix typo in lua_cjson.cMark Pulford
2011-12-15Automate package releases with build-packages.shMark Pulford
build-packages.sh has several advantages: - Automatically bumps version numbers - Builds HTML documentation on the fly
2011-12-13Remove external VERSION #define for lua_cjson.cMark Pulford
The external #define complicates compilation but is only used in lua_cjson.c and Makefile.
2011-11-29Add workaround to handle platforms that print -nanMark Pulford
2011-11-29Remove unused escape table init codeMark Pulford
2011-11-29Suppress isinf() define when it already existsMark Pulford
2011-10-07Add USE_POSIX_SETLOCALE optionMark Pulford
Add USE_POSIX_SETLOCALE option for platforms missing uselocale(). Document locale options in README, Makefile & rockspec. Also: - Rename USE_POSIX_LOCALE define to USE_POSIX_USELOCALE. - Use uselocale() by default through Makefile (Linux, OSX). - Use setlocale() by default through rockspec (other platforms).
2011-10-07Rename MISSING_ISINF to USE_INTERNAL_ISINFMark Pulford
2011-10-05Support locales which use comma decimal separatorsMark Pulford
Some locales (cs_CZ, de_DE,..) use a comma as their decimal separator. This causes CJSON to generate incorrect JSON (Eg, [10,1]), and fail when parsing some valid JSON (Eg, [10,"test"]). Added USE_POSIX_LOCALE #define which harnesses the thread-safe POSIX.1-2008 locale support (newlocale(), uselocale(), freelocale()) to temporarily use the POSIX locale during JSON conversion. Some older POSIX operating systems with xlocale.h (MacOSX) are also supported.
2011-10-05Fix out of date comment (json_config_key)Mark Pulford
2011-09-15Update comment to match docs (very -> excessively)Mark Pulford
2011-08-11Add work around for missing isinf() on SolarisMark Pulford
Some versions of Solaris (Eg, Solaris 11 / GCC 3.4.3) are missing isinf(). Provide a work around when MISSING_ISINF is defined. Reported by: Zhang "agentzh" Yichun <agentzh@gmail.com>
2011-08-10Fix detection of objects with numeric string keysMark Pulford
lua_array_length() recognised some objects with numeric string keys as arrays since it was incorrectly using lua_isnumber(). When an object was incorrectly recognised as an array, json_append_array() would not find any entries and generate a result like: [null,null,...] Reported by: Zhang "agentzh" Yichun <agentzh@gmail.com>
2011-05-29Add support for runtime number precision configMark Pulford
Add cjson.encode_number_precision(). Reducing the number precision from 14 to 3 can increase performance up to 50% with number heavy conversions.
2011-05-10Remove trailing whitespace1.0.1Mark Pulford
2011-05-10Add runtime option for persistent encode bufferMark Pulford
2011-05-10Fix memory leak when throwing stack overflow errorMark Pulford
json->tmp was not freed when throwing a Lua stack overflow exception.
2011-05-10Remove whitespace from generated JSON outputMark Pulford
Remove excess whitespace to reduce output size and increase encode performance. Suggested by: Zhang "agentzh" Yichun <agentzh@gmail.com>
2011-05-08Tidy and reformat lua_cjson.c (minor)Mark Pulford