aboutsummaryrefslogtreecommitdiff
path: root/ext/misc/json1.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/misc/json1.c')
-rw-r--r--ext/misc/json1.c6
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{