yangfasheng 7 лет назад
Родитель
Сommit
449fb9a4e1
3 измененных файлов с 23 добавлено и 11 удалено
  1. 1 1
      jerryscript
  2. 3 3
      rtthread-port/jerry_main.c
  3. 19 7
      rtthread-port/jerry_module.c

+ 1 - 1
jerryscript

@@ -1 +1 @@
-Subproject commit 3c57698ed8a80c276b163390721aa1269fb75169
+Subproject commit 65ae949dc32ebf8c06df8f5e0fd4441b1bef5009

+ 3 - 3
rtthread-port/jerry_main.c

@@ -36,8 +36,8 @@ int jerry_main(int argc, char** argv)
         js_set_string_property(global_obj, "__filename", full_path);
         jerry_release_value(global_obj);
 
-        jerry_value_t parsed_code = jerry_parse((jerry_char_t*)script, length, false);
-        if (jerry_value_has_error_flag(parsed_code))
+        jerry_value_t parsed_code = jerry_parse(NULL, 0, (jerry_char_t*)script, length, JERRY_PARSE_NO_OPTS);
+        if (jerry_value_is_error(parsed_code))
         {
             printf("JavaScript parse failed!\n");
         }
@@ -45,7 +45,7 @@ int jerry_main(int argc, char** argv)
         {
             /* Execute the parsed source code in the Global scope */
             jerry_value_t ret = jerry_run(parsed_code);
-            if (jerry_value_has_error_flag (ret))
+            if (jerry_value_is_error (ret))
             {
                 jerry_value_clear_error_flag (&ret);
 

+ 19 - 7
rtthread-port/jerry_module.c

@@ -32,9 +32,21 @@ char *js_module_dirname(char *path)
     if (!s) return NULL;
 
     i = strlen(s)-1;
-    for (; s[i]=='/'; i--) if (!i) { s[0] = '/'; goto __exit; }
-    for (; s[i]!='/'; i--) if (!i) { s[0] = '.'; goto __exit; }
-    for (; s[i]=='/'; i--) if (!i) { s[0] = '/'; goto __exit; }
+    for (; s[i]=='/'; i--) if (!i)
+        {
+            s[0] = '/';
+            goto __exit;
+        }
+    for (; s[i]!='/'; i--) if (!i)
+        {
+            s[0] = '.';
+            goto __exit;
+        }
+    for (; s[i]=='/'; i--) if (!i)
+        {
+            s[0] = '/';
+            goto __exit;
+        }
 
 __exit:
     s[i+1] = 0;
@@ -72,7 +84,7 @@ char *js_module_normalize_path(const char *directory, const char *filename)
 
         /* join path and file name */
         snprintf(fullpath, strlen(directory) + strlen(filename) + 2,
-            "%s/%s", directory, filename);
+                 "%s/%s", directory, filename);
     }
     else
     {
@@ -219,7 +231,7 @@ static bool load_module_from_filesystem(const jerry_value_t module_name, jerry_v
     js_set_string_property(global_obj, "__filename", full_path);
 
     (*result) = jerry_eval((jerry_char_t *)str, len, false);
-    if (jerry_value_has_error_flag(*result))
+    if (jerry_value_is_error(*result))
         printf("failed to evaluate JS\n");
     else
         ret = true;
@@ -341,7 +353,7 @@ DECLARE_HANDLER(require)
     /* Try each of the resolvers to see if we can find the requested module */
     char *module = js_value_to_string(args[0]);
     jerry_value_t result = jerryx_module_resolve(args[0], resolvers, sizeof(resolvers)/sizeof(resolvers[0]));
-    if (jerry_value_has_error_flag(result))
+    if (jerry_value_is_error(result))
     {
         printf("Couldn't load module %s\n", module);
 
@@ -349,7 +361,7 @@ DECLARE_HANDLER(require)
 
         /* create result with error */
         result = jerry_create_error(JERRY_ERROR_TYPE,
-                                  (const jerry_char_t *) "Module not found");
+                                    (const jerry_char_t *) "Module not found");
     }
 
     /* restore the parent module.exports */