]> git.kaiwu.me - njs.git/commitdiff
Added njs_vm_retval_dump().
authorDmitry Volyntsev <xeioex@nginx.com>
Wed, 7 Nov 2018 15:41:28 +0000 (18:41 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Wed, 7 Nov 2018 15:41:28 +0000 (18:41 +0300)
njs/njs.c
njs/njs.h
njs/njs_shell.c

index e63e12f79966d152ffee7a72fcd47eaf8ff2df40..4e789bb3fe457d5c15e6473e4beaa38b9eca6fa6 100644 (file)
--- a/njs/njs.c
+++ b/njs/njs.c
@@ -671,7 +671,21 @@ njs_vm_memory_error(njs_vm_t *vm)
 }
 
 
-njs_ret_t njs_vm_retval_to_ext_string(njs_vm_t *vm, nxt_str_t *retval)
+njs_ret_t
+njs_vm_retval_to_ext_string(njs_vm_t *vm, nxt_str_t *dst)
+{
+    if (vm->top_frame == NULL) {
+        /* An exception was thrown during compilation. */
+
+        njs_vm_init(vm);
+    }
+
+    return njs_vm_value_to_ext_string(vm, dst, &vm->retval, 1);
+}
+
+
+njs_ret_t
+njs_vm_retval_dump(njs_vm_t *vm, nxt_str_t *dst, nxt_uint_t indent)
 {
     if (vm->top_frame == NULL) {
         /* An exception was thrown during compilation. */
@@ -679,7 +693,7 @@ njs_ret_t njs_vm_retval_to_ext_string(njs_vm_t *vm, nxt_str_t *retval)
         njs_vm_init(vm);
     }
 
-    return njs_vm_value_to_ext_string(vm, retval, &vm->retval, 1);
+    return njs_vm_value_dump(vm, dst, &vm->retval, 1);
 }
 
 
index 3c2dd26f887696f185c578ef5d912e5aa7f69126..11c7c5d6caa01e2f257fb5278e933f03796c655e 100644 (file)
--- a/njs/njs.h
+++ b/njs/njs.h
@@ -200,8 +200,12 @@ NXT_EXPORT nxt_int_t njs_value_string_copy(njs_vm_t *vm, nxt_str_t *retval,
 
 NXT_EXPORT njs_ret_t njs_vm_value_to_ext_string(njs_vm_t *vm, nxt_str_t *dst,
     const njs_value_t *src, nxt_uint_t handle_exception);
-NXT_EXPORT njs_ret_t njs_vm_retval_to_ext_string(njs_vm_t *vm,
-    nxt_str_t *retval);
+NXT_EXPORT njs_ret_t njs_vm_retval_to_ext_string(njs_vm_t *vm, nxt_str_t *dst);
+
+NXT_EXPORT njs_ret_t njs_vm_value_dump(njs_vm_t *vm, nxt_str_t *dst,
+    const njs_value_t *value, nxt_uint_t indent);
+NXT_EXPORT njs_ret_t njs_vm_retval_dump(njs_vm_t *vm, nxt_str_t *dst,
+    nxt_uint_t indent);
 
 NXT_EXPORT void njs_vm_memory_error(njs_vm_t *vm);
 
@@ -226,8 +230,6 @@ NXT_EXPORT nxt_int_t njs_value_is_string(const njs_value_t *value);
 NXT_EXPORT nxt_int_t njs_value_is_object(const njs_value_t *value);
 NXT_EXPORT nxt_int_t njs_value_is_function(const njs_value_t *value);
 
-NXT_EXPORT njs_ret_t njs_vm_value_dump(njs_vm_t *vm, nxt_str_t *retval,
-    const njs_value_t *value, nxt_uint_t indent);
 NXT_EXPORT njs_ret_t njs_vm_object_alloc(njs_vm_t *vm, njs_value_t *retval,
     ...);
 NXT_EXPORT njs_value_t *njs_vm_object_prop(njs_vm_t *vm,
index c0dacc3581c470eb5bf7a72301282f7c56cd7644..9de2ef8e8924195eecbbf6e3566403713e1a989b 100644 (file)
@@ -452,7 +452,7 @@ njs_process_script(njs_vm_t *vm, njs_opts_t *opts, const nxt_str_t *script,
         ret = njs_vm_run(vm);
     }
 
-    if (njs_vm_value_dump(vm, out, njs_vm_retval(vm), 1) != NXT_OK) {
+    if (njs_vm_retval_dump(vm, out, 1) != NXT_OK) {
         *out = nxt_string_value("failed to get retval from VM");
         return NXT_ERROR;
     }