+ if (killblk)
+ { /* we had a separate diff block, release it, we have the data */
+ isamd_release_block(readpp->is, readpp->cat, killblk);
+ if (readpp->is->method->debug >3)
+ logf(LOG_LOG,"isamd_merge: released diff block %d=%d:%d",
+ isamd_addr(killblk,readpp->cat), readpp->cat, killblk );
+ }
+
+
+ /* release our data block. Do before reading, when pos is stable! */
+ killblk=readpp->pos;
+ assert(killblk);
+ isamd_release_block(readpp->is, readpp->cat, killblk);
+ if (readpp->is->method->debug >3)
+ logf(LOG_LOG,"isamd_merge: released old firstblock %d (%d:%d)",
+ isamd_addr(killblk,readpp->cat), readpp->cat, killblk );
+