njs_string_prototype_index_of(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
njs_index_t unused)
{
- int64_t from;
+ int64_t from, length;
njs_int_t ret;
njs_value_t *this, *search, *pos, search_lvalue, pos_lvalue;
njs_string_prop_t string, s;
return ret;
}
- (void) njs_string_prop(&string, this);
+ length = njs_string_prop(&string, this);
(void) njs_string_prop(&s, search);
- from = njs_min(njs_max(from, 0), (int64_t) string.length);
+ from = njs_min(njs_max(from, 0), length);
njs_set_number(&vm->retval, njs_string_index_of(&string, &s, from));
{ njs_str("var r = new String('undefined').indexOf(x); var x; r"),
njs_str("0") },
+ { njs_str("'a a'.toUTF8().indexOf('a', 1)"),
+ njs_str("2") },
+
{ njs_str("'abc'.lastIndexOf('abcdef')"),
njs_str("-1") },