else {
} else {
__bt_pdelete(t, h)	BTREE *t;	PAGE *h;{	BINTERNAL *bi;	PAGE *pg;	EPGNO *parent;	indx_t cnt, index, *ip, offset;	u_int32_t nksize;	char *from;	/*	 * Walk the parent page stack -- a LIFO stack of the pages that were	 * traversed when we searched for the page where the delete occurred.	 * Each stack entry is a page number and a page index offset.  The	 * offset is for the page traversed on the search.  We've just deleted	 * a page, so we have to delete the key from the parent page.	 *	 * If the delete from the parent page makes it empty, this process may	 * continue all the way up the tree.  We stop if we reach the root page	 * (which is never deleted, it's just not worth the effort) or if the	 * delete does not empty the page.	 */	while ((parent = BT_POP(t)) != NULL) {		/* Get the parent page. */		if ((pg = mpool_get(t->bt_mp, parent->pgno, 0)) == NULL)			return (RET_ERROR);				index = parent->index;		bi = GETBINTERNAL(pg, index);		/* Free any overflow pages. */		if (bi->flags & P_BIGKEY &&		    __ovfl_delete(t, bi->bytes) == RET_ERROR) {			mpool_put(t->bt_mp, pg, 0);			return (RET_ERROR);		}		/*		 * Free the parent if it has only the one key and it's not the		 * root page. If it's the rootpage, turn it back into an empty		 * leaf page.		 */		if (NEXTINDEX(pg) == 1)			if (pg->pgno == P_ROOT) {				pg->lower = BTDATAOFF;				pg->upper = t->bt_psize;				pg->flags = P_BLEAF;			} else {				if (__bt_relink(t, pg) || __bt_free(t, pg))					return (RET_ERROR);				continue;			}		else {			/* Pack remaining key items at the end of the page. */			nksize = NBINTERNAL(bi->ksize);			from = (char *)pg + pg->upper;			memmove(from + nksize, from, (char *)bi - from);			pg->upper += nksize;			/* Adjust indices' offsets, shift the indices down. */			offset = pg->linp[index];			for (cnt = index, ip = &pg->linp[0]; cnt--; ++ip)				if (ip[0] < offset)					ip[0] += nksize;			for (cnt = NEXTINDEX(pg) - index; --cnt; ++ip)				ip[0] = ip[1] < offset ? ip[1] + nksize : ip[1];			pg->lower -= sizeof(indx_t);		}		mpool_put(t->bt_mp, pg, MPOOL_DIRTY);		break;	}	/* Free the leaf page, as long as it wasn't the root. */	if (h->pgno == P_ROOT) {		mpool_put(t->bt_mp, h, MPOOL_DIRTY);		return (RET_SUCCESS);	}	return (__bt_relink(t, h) || __bt_free(t, h));}