From: Alexander Borisov Date: Tue, 3 Dec 2019 15:02:40 +0000 (+0300) Subject: Added njs_is_memory_error() function. X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=7efb174b1f98c8870d12f8840a5f3dd54532d043;p=njs.git Added njs_is_memory_error() function. --- diff --git a/src/njs_error.h b/src/njs_error.h index 72ef229e..0cfd687f 100644 --- a/src/njs_error.h +++ b/src/njs_error.h @@ -59,4 +59,18 @@ extern const njs_object_type_init_t njs_uri_error_type_init; extern const njs_object_type_init_t njs_memory_error_type_init; +njs_inline njs_int_t +njs_is_memory_error(njs_vm_t *vm, njs_value_t *value) +{ + if (njs_is_error(value) + && njs_has_prototype(vm, value, NJS_OBJ_TYPE_INTERNAL_ERROR) + && !njs_object(value)->extensible) + { + return 1; + } + + return 0; +} + + #endif /* _NJS_BOOLEAN_H_INCLUDED_ */ diff --git a/src/njs_vm.c b/src/njs_vm.c index 913cdea5..ea3a72dc 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -852,12 +852,7 @@ njs_vm_value_to_string(njs_vm_t *vm, njs_str_t *dst, njs_value_t *src) } if (njs_is_error(src)) { - - /* MemoryError is a nonextensible internal error. */ - - if (njs_has_prototype(vm, src, NJS_OBJ_TYPE_INTERNAL_ERROR) - && !njs_object(src)->extensible) - { + if (njs_is_memory_error(vm, src)) { njs_string_get(&njs_string_memory_error, dst); return NJS_OK; }