typedef njs_int_t (*njs_array_iterator_handler_t)(njs_vm_t *vm,
- njs_array_iterator_args_t *args, njs_value_t *entry, uint64_t n);
+ njs_array_iterator_args_t *args, njs_value_t *entry, int64_t n);
static njs_int_t njs_array_prototype_slice_copy(njs_vm_t *vm,
njs_object_prop_t *prev, njs_value_t *setval)
{
double num, idx;
+ int64_t prev_length;
uint32_t i, length;
- uint64_t prev_length;
njs_int_t ret;
njs_array_t *array, *keys;
njs_array_prototype_slice(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- int64_t start, end, length;
- uint64_t object_length;
+ int64_t start, end, length, object_length;
njs_int_t ret;
njs_value_t *this;
njs_array_prototype_push(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint64_t length;
+ int64_t length;
njs_int_t ret;
njs_uint_t i;
njs_array_t *array;
njs_array_prototype_pop(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint64_t length;
+ int64_t length;
njs_int_t ret;
njs_array_t *array;
njs_value_t *this, *entry;
njs_index_t unused)
{
double idx;
- uint64_t from, to, length;
+ int64_t from, to, length;
njs_int_t ret;
njs_uint_t n;
njs_array_t *array, *keys;
njs_array_prototype_shift(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint64_t i, length;
+ int64_t i, length;
njs_int_t ret;
njs_array_t *array;
njs_value_t *this, *item, entry;
njs_array_prototype_reverse(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint64_t length;
+ int64_t length;
njs_int_t ret;
njs_uint_t i, n;
njs_value_t value, *this;
njs_index_t unused)
{
u_char *p, *last;
- int64_t size, length;
- uint64_t i, len;
+ int64_t i, size, len, length;
njs_int_t ret;
njs_chb_t chain;
njs_utf8_t utf8;
njs_inline njs_int_t
njs_array_object_handler(njs_vm_t *vm, njs_array_iterator_handler_t handler,
- njs_array_iterator_args_t *args, njs_value_t *key, uint64_t i)
+ njs_array_iterator_args_t *args, njs_value_t *key, int64_t i)
{
njs_int_t ret;
njs_value_t prop, *entry;
njs_array_iterator_handler_t handler)
{
double idx;
- uint64_t length, i, from, to;
+ int64_t length, i, from, to;
njs_int_t ret;
njs_array_t *array, *keys;
njs_value_t *value, *entry, prop, character, string_obj;
p = string_prop.start;
end = p + string_prop.size;
- if (length == string_prop.size) {
+ if ((size_t) length == string_prop.size) {
/* Byte or ASCII string. */
for (i = from; i < to; i++) {
njs_array_iterator_handler_t handler)
{
double idx;
- uint64_t i, from, to, length;
+ int64_t i, from, to, length;
njs_int_t ret;
njs_array_t *array, *keys;
njs_value_t *entry, *value, prop, character, string_obj;
length = njs_string_prop(&string_prop, value);
end = string_prop.start + string_prop.size;
- if (length == string_prop.size) {
+ if ((size_t) length == string_prop.size) {
/* Byte or ASCII string. */
p = string_prop.start + from;
njs_index_t unused)
{
double idx;
- uint64_t i, k, len, length;
+ int64_t k, len, length;
njs_int_t ret;
+ njs_uint_t i;
njs_value_t this, retval, *value, *e;
njs_array_t *array, *keys;
static njs_int_t
njs_array_handler_index_of(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
if (njs_values_strict_equal(args->argument, entry)) {
njs_set_number(&vm->retval, n);
njs_array_prototype_index_of(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- int64_t from;
- uint64_t length;
+ int64_t from, length;
njs_int_t ret;
njs_array_iterator_args_t iargs;
njs_array_prototype_last_index_of(njs_vm_t *vm, njs_value_t *args,
njs_uint_t nargs, njs_index_t unused)
{
- int64_t from;
- uint64_t length;
+ int64_t from, length;
njs_int_t ret;
njs_array_iterator_args_t iargs;
}
if (from >= 0) {
- from = njs_min((uint64_t) from, length - 1);
+ from = njs_min(from, length - 1);
} else if (from < 0) {
from += length;
static njs_int_t
njs_array_handler_includes(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
if (!njs_is_valid(entry)) {
entry = njs_value_arg(&njs_value_undefined);
njs_array_prototype_includes(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- int64_t from;
- uint64_t length;
+ int64_t from, length;
njs_int_t ret;
njs_array_iterator_args_t iargs;
length = array->length;
} else {
- ret = njs_object_length(vm, this, (uint64_t *) &length);
+ ret = njs_object_length(vm, this, &length);
if (njs_slow_path(ret == NJS_ERROR)) {
return ret;
}
return ret;
}
- ret = njs_value_length(vm, iargs->value, (uint64_t *) &iargs->to);
+ ret = njs_value_length(vm, iargs->value, &iargs->to);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
static njs_int_t
njs_array_handler_for_each(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
if (njs_is_valid(entry)) {
return njs_array_iterator_call(vm, args, entry, n);
static njs_int_t
njs_array_handler_some(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_int_t ret;
static njs_int_t
njs_array_handler_every(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_int_t ret;
static njs_int_t
njs_array_handler_filter(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_int_t ret;
njs_value_t copy;
static njs_int_t
njs_array_handler_find(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_int_t ret;
njs_value_t copy;
static njs_int_t
njs_array_handler_find_index(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_int_t ret;
njs_value_t copy;
static njs_int_t
njs_array_handler_map(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_int_t ret;
njs_array_t *retval;
njs_array_prototype_map(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint64_t length, i;
+ int64_t i, length;
njs_int_t ret;
njs_array_t *array;
njs_value_t *this;
njs_inline njs_int_t
njs_array_iterator_reduce(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_value_t arguments[5];
static njs_int_t
njs_array_handler_reduce(njs_vm_t *vm, njs_array_iterator_args_t *args,
- njs_value_t *entry, uint64_t n)
+ njs_value_t *entry, int64_t n)
{
njs_int_t ret;
return ret;
}
- ret = njs_value_length(vm, iargs.value, (uint64_t *) &iargs.from);
+ ret = njs_value_length(vm, iargs.value, &iargs.from);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
njs_array_prototype_sort(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- uint64_t n, index, length, current;
+ int64_t n, index, length, current;
njs_int_t ret;
njs_array_t *array;
njs_value_t retval, value, *this, *start, arguments[3];
return ret;
}
- ret = njs_value_length(vm, this, (uint64_t *) &length);
+ ret = njs_value_length(vm, this, &length);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
njs_object_enum_t kind, njs_object_enum_type_t type, njs_bool_t all);
njs_array_t *njs_value_own_enumerate(njs_vm_t *vm, njs_value_t *value,
njs_object_enum_t kind, njs_object_enum_type_t type, njs_bool_t all);
-njs_int_t njs_value_length(njs_vm_t *vm, njs_value_t *value, uint64_t *dst);
+njs_int_t njs_value_length(njs_vm_t *vm, njs_value_t *value, int64_t *dst);
const char *njs_type_string(njs_value_type_t type);
njs_int_t njs_primitive_value_to_string(njs_vm_t *vm, njs_value_t *dst,
njs_int_t njs_primitive_value_to_chain(njs_vm_t *vm, njs_chb_t *chain,
const njs_value_t *src);
double njs_string_to_number(const njs_value_t *value, njs_bool_t parse_float);
-njs_int_t njs_uint64_to_string(njs_vm_t *vm, njs_value_t *value, uint64_t u64);
+njs_int_t njs_int64_to_string(njs_vm_t *vm, njs_value_t *value, int64_t i64);
njs_bool_t njs_string_eq(const njs_value_t *v1, const njs_value_t *v2);
/* FIXME: False-positive in MSAN?. */
njs_msan_unpoison(&key, sizeof(njs_value_t));
- ret = njs_uint64_to_string(vm, &key, index);
+ ret = njs_int64_to_string(vm, &key, index);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
/* FIXME: False-positive in MSAN?. */
njs_msan_unpoison(&key, sizeof(njs_value_t));
- ret = njs_uint64_to_string(vm, &key, index);
+ ret = njs_int64_to_string(vm, &key, index);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}
/* FIXME: False-positive in MSAN?. */
njs_msan_unpoison(&key, sizeof(njs_value_t));
- ret = njs_uint64_to_string(vm, &key, index);
+ ret = njs_int64_to_string(vm, &key, index);
if (njs_slow_path(ret != NJS_OK)) {
return ret;
}