diff --git a/jerry-core/jerry.c b/jerry-core/jerry.c index 943f4811d2..2887a07158 100644 --- a/jerry-core/jerry.c +++ b/jerry-core/jerry.c @@ -515,9 +515,7 @@ jerry_api_convert_api_value_to_ecma_value (ecma_value_t *out_value_p, /**< [out] * Convert completion of 'eval' to API value and completion code * * Note: - * if the output value contains string / object, it should be freed - * with jerry_api_release_string / jerry_api_release_object, - * just when it becomes unnecessary. + * The value returned in 'retval_p' should be freed with jerry_api_release_value * * @return completion code */ @@ -526,22 +524,9 @@ jerry_api_convert_eval_completion_to_retval (jerry_api_value_t *retval_p, /**< [ ecma_value_t completion) /**< completion of 'eval'-mode * code execution */ { - jerry_completion_code_t ret_code; - - if (!ecma_is_value_error (completion)) - { - jerry_api_convert_ecma_value_to_api_value (retval_p, completion); - - ret_code = JERRY_COMPLETION_CODE_OK; - } - else - { - jerry_api_convert_ecma_value_to_api_value (retval_p, ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED)); + jerry_api_convert_ecma_value_to_api_value (retval_p, completion); - ret_code = JERRY_COMPLETION_CODE_UNHANDLED_EXCEPTION; - } - - return ret_code; + return (ecma_is_value_error (completion)) ? JERRY_COMPLETION_CODE_UNHANDLED_EXCEPTION : JERRY_COMPLETION_CODE_OK; } /* jerry_api_convert_eval_completion_to_retval */ /** diff --git a/main-unix.c b/main-unix.c index c6a119d973..3bf60f86d3 100644 --- a/main-unix.c +++ b/main-unix.c @@ -537,7 +537,7 @@ main (int argc, printf ("%s", prompt); - // input a line + /* Read a line */ while (true) { if (fread (source_buffer_tail, 1, 1, stdin) != 1 && len == 0) @@ -556,23 +556,16 @@ main (int argc, if (len > 0) { - // evaluate the line + /* Evaluate the line */ jerry_api_value_t ret_val; ret_code = jerry_api_eval (buffer, len, false, false, &ret_val); - if (ret_code == JERRY_COMPLETION_CODE_OK) + /* Print return value */ + const jerry_api_value_t args[] = { ret_val }; + jerry_api_value_t ret_val_print; + if (jerry_api_call_function (print_function.u.v_object, NULL, &ret_val_print, args, 1)) { - // print return value - const jerry_api_value_t args[] = {ret_val}; - jerry_api_value_t ret_val_print; - if (jerry_api_call_function (print_function.u.v_object, NULL, &ret_val_print, args, 1)) - { - jerry_api_release_value (&ret_val_print); - } - } - else - { - printf ("JERRY_COMPLETION_CODE_UNHANDLED_EXCEPTION\n"); + jerry_api_release_value (&ret_val_print); } jerry_api_release_value (&ret_val);