You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: jsrc/xdic.c
+15-1Lines changed: 15 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -687,7 +687,7 @@ notfound:; // tomb1 has the first slot we can store into
687
687
dic->bloc.emptyn=emptynxt; // save new root of empty chain
688
688
emptynxt=HDECEMPTY(hval); WRHASH1234(emptynxt, hsz>>56, &hashtbl[tomb1*(hsz>>56)]) // convert empty# to hashslot#; set hashtable to point to new kv (skipping over reserved hashslot#s)
689
689
PUTKVNEW(kbase+hval*(kib>>32),k,kib>>32,hsz&(DICFKINDIR<<DICFBASE)); // copy the new key
690
-
dic->bloc.cardinality++; // account for the new keys
690
+
dic->bloc.cardinality++; // account for the new key
691
691
goto copyval;
692
692
// fall through...
693
693
found:; // hval is the kv slot we compared with, or a new empty kv slot
DELKV(kbasei+(emptyx+TREENRES)*(kib>>32),kib>>32,nodeb&(DICFKINDIR<<8)) DELKV(vbase+emptyx*vb,vb,nodeb&(DICFVINDIR<<8)) // if k/v is indirect, free it & clear to 0
1617
1618
It=dic->bloc.emptyn; WRHASH1234(t, nodeb>>19, &kbasei[(emptyx+TREENRES)*(kib>>32)]) // chain old free chain from new deletion
1618
1619
dic->bloc.emptyn=emptyx; // set new head of chain
1620
+
--dic->bloc.cardinality; // remove deleted key from key count
1619
1621
1620
1622
Ichild=(nodexlc|nodexr)&~1; // the one child, if not 0
0 commit comments