** returns the index for 'k' if 'k' is an appropriate key to live in ** the array part of a table, 0 otherwise. */
| 305 | ** the array part of a table, 0 otherwise. |
| 306 | */ |
| 307 | static unsigned int arrayindex (lua_Integer k) { |
| 308 | if (l_castS2U(k) - 1u < MAXASIZE) /* 'k' in [1, MAXASIZE]? */ |
| 309 | return cast_uint(k); /* 'key' is an appropriate array index */ |
| 310 | else |
| 311 | return 0; |
| 312 | } |
| 313 | |
| 314 | |
| 315 | /* |