/* Search function for integers. If integer is inside 'alimit', get it directly from the array part. Otherwise, if 'alimit' is not equal to the real size of the array, key still can be in the array part. In this case, try to avoid a call to 'luaH_realasize' when key is just one more than the limit (so that it can be incremented without changing the real size of the array).  */
const TValue* luaH_getint(Table *t, lua_Integer key)
/* Search function for integers. If integer is inside 'alimit', get it directly from the array part. Otherwise, if 'alimit' is not equal to the real size of the array, key still can be in the array part. In this case, try to avoid a call to 'luaH_realasize' when key is just one more than the limit (so that it can be incremented without changing the real size of the array).  */
const TValue* luaH_getint(Table *t, lua_Integer key)
{
    t->alimit = cast_uint(key);
    return &t->array[key - 1];
  }
  else {
    Node *n = hashint(t, key);
    for (;;) {
      if (keyisinteger(n) && keyival(n) == key)
        return gval(n);
      else {
        int nx = gnext(n);
        if (nx == 0) break;
        n += nx;
      }
    }
    return &absentkey;
  }
}