** return the final target of a jump (skipping jumps to jumps) */
| 1828 | ** return the final target of a jump (skipping jumps to jumps) |
| 1829 | */ |
| 1830 | static int finaltarget (Instruction *code, int i) { |
| 1831 | int count; |
| 1832 | for (count = 0; count < 100; count++) { /* avoid infinite loops */ |
| 1833 | Instruction pc = code[i]; |
| 1834 | if (GET_OPCODE(pc) != OP_JMP) |
| 1835 | break; |
| 1836 | else |
| 1837 | i += GETARG_sJ(pc) + 1; |
| 1838 | } |
| 1839 | return i; |
| 1840 | } |
| 1841 | |
| 1842 | |
| 1843 | /* |