aboutsummaryrefslogtreecommitdiff
path: root/targets/esp8266/user/jerry_run.c
diff options
context:
space:
mode:
Diffstat (limited to 'targets/esp8266/user/jerry_run.c')
-rw-r--r--targets/esp8266/user/jerry_run.c87
1 files changed, 48 insertions, 39 deletions
diff --git a/targets/esp8266/user/jerry_run.c b/targets/esp8266/user/jerry_run.c
index e7fff4c3..b3205bac 100644
--- a/targets/esp8266/user/jerry_run.c
+++ b/targets/esp8266/user/jerry_run.c
@@ -13,88 +13,97 @@
* limitations under the License.
*/
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "jerry_extapi.h"
#include "jerry_run.h"
-#include "jerryscript.h"
+#include <stdio.h>
+#include <stdlib.h>
+
#include "jerryscript-port.h"
+#include "jerryscript.h"
+
+#include "jerry_extapi.h"
-static const char* fn_sys_loop_name = "sysloop";
+static const char *fn_sys_loop_name = "sysloop";
-void js_entry ()
+void
+js_entry ()
{
- union { double d; unsigned u; } now = { .d = jerry_port_get_current_time () };
+ union
+ {
+ double d;
+ unsigned u;
+ } now = { .d = jerry_port_get_current_time () };
srand (now.u);
jerry_init (JERRY_INIT_EMPTY);
js_register_functions ();
}
-int js_eval (const char *source_p, const size_t source_size)
+int
+js_eval (const char *source_p, const size_t source_size)
{
- jerry_value_t res = jerry_eval ((jerry_char_t *) source_p,
- source_size,
- JERRY_PARSE_NO_OPTS);
- if (jerry_value_is_error (res)) {
- jerry_release_value (res);
+ jerry_value_t res = jerry_eval ((jerry_char_t *) source_p, source_size, JERRY_PARSE_NO_OPTS);
+ if (jerry_value_is_exception (res))
+ {
+ jerry_value_free (res);
return -1;
}
- jerry_release_value (res);
+ jerry_value_free (res);
return 0;
}
-int js_loop (uint32_t ticknow)
+int
+js_loop (uint32_t ticknow)
{
- jerry_value_t global_obj_val = jerry_get_global_object ();
- jerry_value_t prop_name_val = jerry_create_string ((const jerry_char_t *) fn_sys_loop_name);
- jerry_value_t sysloop_func = jerry_get_property (global_obj_val, prop_name_val);
- jerry_release_value (prop_name_val);
+ jerry_value_t global_obj_val = jerry_current_realm ();
+ jerry_value_t prop_name_val = jerry_string_sz (fn_sys_loop_name);
+ jerry_value_t sysloop_func = jerry_object_get (global_obj_val, prop_name_val);
+ jerry_value_free (prop_name_val);
- if (jerry_value_is_error (sysloop_func)) {
+ if (jerry_value_is_exception (sysloop_func))
+ {
printf ("Error: '%s' not defined!!!\r\n", fn_sys_loop_name);
- jerry_release_value (sysloop_func);
- jerry_release_value (global_obj_val);
+ jerry_value_free (sysloop_func);
+ jerry_value_free (global_obj_val);
return -1;
}
- if (!jerry_value_is_function (sysloop_func)) {
+ if (!jerry_value_is_function (sysloop_func))
+ {
printf ("Error: '%s' is not a function!!!\r\n", fn_sys_loop_name);
- jerry_release_value (sysloop_func);
- jerry_release_value (global_obj_val);
+ jerry_value_free (sysloop_func);
+ jerry_value_free (global_obj_val);
return -2;
}
- jerry_value_t val_args[] = { jerry_create_number (ticknow) };
+ jerry_value_t val_args[] = { jerry_number (ticknow) };
uint16_t val_argv = sizeof (val_args) / sizeof (jerry_value_t);
- jerry_value_t res = jerry_call_function (sysloop_func,
- global_obj_val,
- val_args,
- val_argv);
+ jerry_value_t res = jerry_call (sysloop_func, global_obj_val, val_args, val_argv);
- for (uint16_t i = 0; i < val_argv; i++) {
- jerry_release_value (val_args[i]);
+ for (uint16_t i = 0; i < val_argv; i++)
+ {
+ jerry_value_free (val_args[i]);
}
- jerry_release_value (sysloop_func);
- jerry_release_value (global_obj_val);
+ jerry_value_free (sysloop_func);
+ jerry_value_free (global_obj_val);
- if (jerry_value_is_error (res)) {
- jerry_release_value (res);
+ if (jerry_value_is_exception (res))
+ {
+ jerry_value_free (res);
return -3;
}
- jerry_release_value (res);
+ jerry_value_free (res);
return 0;
}
-void js_exit (void)
+void
+js_exit (void)
{
jerry_cleanup ();
}