diff options
author | drh <drh@noemail.net> | 2017-03-23 12:56:44 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2017-03-23 12:56:44 +0000 |
commit | 1fe162fd0ce451dacee29c9d7164415c8815ca7b (patch) | |
tree | 829e70b550c3db153959978f99c72aebcb87c5a0 /ext/misc/json1.c | |
parent | 0002d246a94f03b7947c0fe4156f2dcc31cd722b (diff) | |
download | sqlite-1fe162fd0ce451dacee29c9d7164415c8815ca7b.tar.gz sqlite-1fe162fd0ce451dacee29c9d7164415c8815ca7b.zip |
Avoid redundant edits in the json_merge_patch() function.
FossilOrigin-Name: 4a8e6437dd610c5376a07867a73e5a7e2ea90357a018e1788ecce6f4e10bc939
Diffstat (limited to 'ext/misc/json1.c')
-rw-r--r-- | ext/misc/json1.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/ext/misc/json1.c b/ext/misc/json1.c index 31e03d1e7..80b654d68 100644 --- a/ext/misc/json1.c +++ b/ext/misc/json1.c @@ -1393,10 +1393,8 @@ static JsonNode *jsonMergePatch( assert( pTarget[j].eType==JSON_STRING ); assert( pTarget[j].jnFlags & JNODE_LABEL ); assert( (pPatch[i].jnFlags & JNODE_RAW)==0 ); - if( (pTarget[j+1].jnFlags & (JNODE_REMOVE|JNODE_PATCH))==0 - && pTarget[j].n==nKey - && strncmp(pTarget[j].u.zJContent, zKey, nKey)==0 - ){ + if( pTarget[j].n==nKey && strncmp(pTarget[j].u.zJContent,zKey,nKey)==0 ){ + if( pTarget[j+1].jnFlags & (JNODE_REMOVE|JNODE_PATCH) ) break; if( pPatch[i+1].eType==JSON_NULL ){ pTarget[j+1].jnFlags |= JNODE_REMOVE; }else{ |