value = &values[n++];
if (!njs_is_string(value)) {
- vm->frame->trap_scratch.data.u.value = value;
+ njs_vm_trap_value(vm, value);
return NJS_TRAP_STRING_ARG;
}
for (i = 1; i < nargs; i++) {
if (!njs_is_string(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_STRING_ARG;
}
}
for (i = 1; i < n; i++) {
if (!njs_is_numeric(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_NUMBER_ARG;
}
for (i = 1; i < n; i++) {
if (!njs_is_numeric(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_NUMBER_ARG;
}
#define NJS_CONTINUATION_SIZE njs_continuation_size(njs_continuation_t)
+#define njs_vm_trap_value(vm, val) \
+ (vm)->frame->trap_scratch.data.u.value = val
+
+
+
typedef struct njs_exception_s njs_exception_t;
struct njs_exception_s {
for (i = 1; i < nargs; i++) {
if (!njs_is_numeric(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_NUMBER_ARG;
}
if (nargs > 1) {
for (i = 1; i < nargs; i++) {
if (!njs_is_numeric(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_NUMBER_ARG;
}
}
if (nargs > 1) {
for (i = 1; i < nargs; i++) {
if (!njs_is_numeric(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_NUMBER_ARG;
}
}
for (i = 0; i < nargs; i++) {
if (!njs_is_string(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_STRING_ARG;
}
for (i = 1; i < nargs; i++) {
if (!njs_is_numeric(&args[i])) {
- vm->frame->trap_scratch.data.u.value = &args[i];
+ njs_vm_trap_value(vm, &args[i]);
return NJS_TRAP_NUMBER_ARG;
}
}
trap:
- vm->frame->trap_scratch.data.u.value = args;
+ njs_vm_trap_value(vm, args);
return trap;