test for ptr at a terminal node and, if not, whether ptr must be shifted down

while((succ <= last) && (data[succ].key < keyvalue))