]> git.kaiwu.me - njs.git/commitdiff
Added njs_is_memory_error() function.
authorAlexander Borisov <alexander.borisov@nginx.com>
Tue, 3 Dec 2019 15:02:40 +0000 (18:02 +0300)
committerAlexander Borisov <alexander.borisov@nginx.com>
Tue, 3 Dec 2019 15:02:40 +0000 (18:02 +0300)
src/njs_error.h
src/njs_vm.c

index 72ef229e32cc4afc3b86138df08e608841a8d797..0cfd687fbedde25897152169cb7ebf4884723d29 100644 (file)
@@ -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_ */
index 913cdea561339612d93ae954a20890aec1acdfc0..ea3a72dc7c3177d27ef8e7958f3d4bd755794f39 100644 (file)
@@ -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;
         }