- memcpy (slotptr(page,++idx)->id, slotptr(bt->frame,cnt)->id, BtId);
- if( !(slotptr(page, idx)->dead = slotptr(bt->frame, cnt)->dead) )
- page->act++;
- slotptr(page, idx)->tod = slotptr(bt->frame, cnt)->tod;
- slotptr(page, idx)->off = nxt;
- }
-
- // insert new foster child for right page in queue
- // before any of the current foster children
-
- nxt -= *fencekey + 1;
- memcpy ((unsigned char *)page + nxt, fencekey, *fencekey + 1);
-
- bt_putid (slotptr(page,++idx)->id, new_page);
- slotptr(page, idx)->tod = tod;
- slotptr(page, idx)->off = nxt;
- page->foster++;
- page->act++;
-
- // continue with old foster child keys
- // note that none will be dead
-
- cnt = bt->frame->cnt - bt->frame->foster;
-
- while( cnt++ < bt->frame->cnt ) {
- key = keyptr(bt->frame, cnt);
- nxt -= key->len + 1;
- memcpy ((unsigned char *)page + nxt, key, key->len + 1);
- memcpy (slotptr(page,++idx)->id, slotptr(bt->frame,cnt)->id, BtId);