mirror of
https://github.com/rafagafe/tiny-json.git
synced 2025-03-12 11:25:29 +00:00
Merge pull request #1 from vanjoe/master
Speed up adding of large arrays.
This commit is contained in:
commit
2e98dd7e63
11
tiny-json.c
11
tiny-json.c
@ -300,11 +300,12 @@ static char* numValue( char* ptr, json_t* property ) {
|
||||
* @param property The handler of the property to be added. */
|
||||
static void add( json_t* obj, json_t* property ) {
|
||||
property->sibling = 0;
|
||||
if ( !obj->u.child ) obj->u.child = property;
|
||||
else {
|
||||
json_t* iter;
|
||||
for( iter = obj->u.child; iter->sibling; iter = iter->sibling );
|
||||
iter->sibling = property;
|
||||
if ( !obj->u.child ){
|
||||
obj->u.child = property;
|
||||
obj->u.last_child = property;
|
||||
} else {
|
||||
obj->u.last_child->sibling = property;
|
||||
obj->u.last_child = property;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,10 @@ typedef struct json_s {
|
||||
char const* name;
|
||||
union {
|
||||
char const* value;
|
||||
struct json_s* child;
|
||||
struct {
|
||||
struct json_s* child;
|
||||
struct json_s* last_child;
|
||||
};
|
||||
} u;
|
||||
jsonType_t type;
|
||||
} json_t;
|
||||
|
Loading…
Reference in New Issue
Block a user