33
33
34
34
struct mjs * mjs = NULL ;
35
35
36
+ static void run_if_exists (const char * fname ) {
37
+ struct stat st ;
38
+ if (stat (fname , & st ) != 0 ) return ;
39
+ LOG (LL_DEBUG , ("Trying to run %s..." , fname ));
40
+ if (mjs_exec_file (mjs , fname , NULL ) != MJS_OK ) {
41
+ mjs_print_error (mjs , stderr , NULL , 1 /* print_stack_trace */ );
42
+ }
43
+ }
44
+
36
45
/*
37
46
* Runs when all initialization (all libs + app) is done
38
47
* Execute two files:
@@ -48,14 +57,8 @@ static void s_init_done_handler(int ev, void *ev_data, void *userdata) {
48
57
int mem1 , mem2 ;
49
58
50
59
mem1 = mgos_get_free_heap_size ();
51
- LOG (LL_DEBUG , ("Trying to run init.js ..." ));
52
- if (mjs_exec_file (mjs , "init.js" , NULL ) != MJS_OK ) {
53
- mjs_print_error (mjs , stdout , NULL , 1 /* print_stack_trace */ );
54
- }
55
- LOG (LL_DEBUG , ("Trying to run app.js ..." ));
56
- if (mjs_exec_file (mjs , "app.js" , NULL ) != MJS_OK ) {
57
- mjs_print_error (mjs , stdout , NULL , 1 );
58
- }
60
+ run_if_exists ("init.js" );
61
+ run_if_exists ("app.js" );
59
62
mem2 = mgos_get_free_heap_size ();
60
63
LOG (LL_DEBUG , ("mJS RAM stat: before user code: %d after: %d" , mem1 , mem2 ));
61
64
0 commit comments