** The subtraction of two potentially unrelated pointers is ** not ISO C, but it should not crash a program; the subsequent ** checks are ISO C and ensure a correct result. */
| 544 | ** checks are ISO C and ensure a correct result. |
| 545 | */ |
| 546 | static int isinstack (CallInfo *ci, const TValue *o) { |
| 547 | ptrdiff_t i = o - ci->u.l.base; |
| 548 | return (0 <= i && i < (ci->top - ci->u.l.base) && ci->u.l.base + i == o); |
| 549 | } |
| 550 | |
| 551 | |
| 552 | /* |