/* return the final target of a jump (skipping jumps to jumps)  */
static int finaltarget(Instruction *code, int i)
/* return the final target of a jump (skipping jumps to jumps)  */
static int finaltarget(Instruction *code, int i)
{
    Instruction pc = code[i];
    if (GET_OPCODE(pc) != OP_JMP)
      break;
     else
       i += GETARG_sJ(pc) + 1;
  }
  return i;
}