** return the final target of a jump (skipping jumps to jumps) */
| 1767 | ** return the final target of a jump (skipping jumps to jumps) |
| 1768 | */ |
| 1769 | static int finaltarget (Instruction *code, int i) { |
| 1770 | int count; |
| 1771 | for (count = 0; count < 100; count++) { /* avoid infinite loops */ |
| 1772 | Instruction pc = code[i]; |
| 1773 | if (GET_OPCODE(pc) != OP_JMP) |
| 1774 | break; |
| 1775 | else |
| 1776 | i += GETARG_sJ(pc) + 1; |
| 1777 | } |
| 1778 | return i; |
| 1779 | } |
| 1780 | |
| 1781 | |
| 1782 | /* |