Commit Graph

170 Commits

Author SHA1 Message Date
Krzysztof Gabis
b2dbaece40 Fixed issue with MSVC and unicode characters.
Functions in MSVC's ctype.h create runtime error when passed negative char value.
2012-12-02 11:15:48 +01:00
Krzysztof Gabis
457fa1100f Small code cleanup, narrower example code in tests and readme. 2012-11-24 20:59:16 +01:00
Krzysztof Gabis
5eb66d2b31 New test case.
"object_empty" should  ensure no more bugs in nget function.
2012-11-07 23:08:23 +01:00
Krzysztof Gabis
f7f11572c9 Fixed bug in nget function, added 2 functions to API, improved memory allocs.
Details:
- Fixed bug, where json_object_nget_value returned wrong values.
- json_object_get_count returns a number of object's name-value pairs.
- json_object_get_name returns a name at a specific index.
- Both functions allow iterating over every value in a object.
- Changed max capacity for JSON_Array and JSON_Object (they're not equal anymore).
- Added functions to resize object and array, which are also used after parsing to "trim" them to their real lengths.
- Added try_realloc function.
- Added SUCCESS and ERROR macros to make code more readable.
- Code cleanup.
2012-11-07 22:51:03 +01:00
Krzysztof Gabis
aaf1d45f16 Code refractoring.
Details:
- Increased STARTING_CAPACITY from 10 to 15.
- Added 2 macros: skip_char and skip_whitespaces.
- Added json_object_nget_value function, which removes neccessity to allocate new string when using dotget functions.
- Removed parson_strdup function, it was called only once and could be easilly replaced with appropriate call to parson_strndup.
- Renamed skip_string to skip_quotes, which is a more appropriate name, and made it work on a passed pointer to a string, which is much like skip_char and skip_whitespaces.
- Removed copy_and_remove_whitespaces, it was unncessary, and could be easily replaced with skip_whitepsaces macro.
- Merged parse_escaped_characters and get_string to get_processed_string, which makes more sense.
- Changed is_decimal implementation, to avoid unncessary string duplicating.
- Removed string copying in parse_number value and json_parse_string, since it was unncessary.
2012-11-04 17:45:52 +01:00
Krzysztof Gabis
202f16cc5c Additional code cleanup.
Removed redundant typedefs, renamed JSON_value_t to JSON_Value_Type and JSON_value_value to JSON_Value_Value to make names more consistent across project. Added project's name and url above license.
2012-11-03 19:52:49 +01:00
Krzysztof Gabis
ede8ea497a Merge pull request #1 from sduclos/master
Code Clean UP
2012-11-03 11:30:13 -07:00
sduclos
684096eb0f code clea up 2012-11-03 08:19:28 -04:00
Krzysztof Gabis
ee9be98974 Handling realloc, strdup and strndup errors.
Also moved void* cast in free to the parson_free macro.
2012-10-28 20:18:34 +01:00
Krzysztof Gabis
1f7049dd47 Fixed wrong conditional error and defined realloc as a macro.
Thanks to eps for pointing it out :)
2012-10-28 17:58:24 +01:00
Krzysztof Gabis
2684eeb360 Not parsing hex and octal values, refractoring, code cleanup, new tests.
Also changed parson_strndup and parson_strdup to be static.
2012-10-24 10:42:25 +02:00
Krzysztof Gabis
a3bb4c7390 Fixed error in the readme file. 2012-10-22 19:25:32 +02:00
Krzysztof Gabis
120f5a08da Defined malloc and free as macros, also small refractoring.
And changes to the readme file.
2012-10-22 19:20:02 +02:00
Krzysztof Gabis
5edab75bdc Checking malloc errors, added limits on nesting and object/array size.
Also small refractoring and one new test regarding nesting.
2012-10-19 16:24:24 +02:00
Krzysztof Gabis
e36fa2ab41 Changes in README.md 2012-10-18 21:37:03 +02:00
Krzysztof Gabis
9e64c0f031 Changed int to size_t to avoid signed/unsigned comparisons 2012-10-18 21:17:16 +02:00
Krzysztof Gabis
410807850e Fixed some compatibility issues with C++ compilers.
Added error type to json value types. Also implemented strdup and strndup, since they can be problematic and are not implemented everywhere.
2012-10-18 18:36:58 +02:00
Krzysztof Gabis
2740213c5c Renamed bool to boolean.
Naming variables bool is a poor idea, even in C.
2012-10-18 15:25:11 +02:00
Krzysztof Gabis
cad9bda1e4 Included stddef.h in parson.c 2012-10-16 22:32:24 +02:00
Krzysztof Gabis
de829803e3 Initial commit. 2012-10-16 19:56:54 +02:00