new function compile_directory()
authorMatthias Kramm <kramm@quiss.org>
Sun, 8 Feb 2009 20:32:28 +0000 (21:32 +0100)
committerMatthias Kramm <kramm@quiss.org>
Sun, 8 Feb 2009 20:32:28 +0000 (21:32 +0100)
lib/as3/compiler.c
lib/as3/compiler.h

index 11c6792..8c2337a 100644 (file)
@@ -184,14 +184,16 @@ void as3_parse_file(const char*filename)
     free(fullfilename);
 }
 
-void as3_schedule_package(const char*package)
+void as3_parse_directory(const char*dir)
+{
+    as3_schedule_directory(dir);
+    as3_parse_scheduled(1);
+    as3_schedule_directory(dir);
+    as3_parse_scheduled(2);
+}
+
+char as3_schedule_directory(const char*dirname)
 {
-    char*dirname = strdup(package);
-    int s=0;
-    while(dirname[s]) {
-        if(package[s]=='.') dirname[s]='/';
-        s++;
-    };
     char ok=0;
 #ifdef HAVE_DIRENT_H
     include_dir_t*i = current_include_dirs;
@@ -222,7 +224,18 @@ void as3_schedule_package(const char*package)
         i = i->next;
     }
 #endif
-    if(!ok)
+    return ok;
+}
+
+void as3_schedule_package(const char*package)
+{
+    char*dirname = strdup(package);
+    int s=0;
+    while(dirname[s]) {
+        if(dirname[s]=='.') dirname[s]='/';
+        s++;
+    };
+    if(!as3_schedule_directory(package))
         as3_softwarning("Could not find package %s in file system", package);
 }
 
index ac1b948..7786e7a 100644 (file)
@@ -6,6 +6,9 @@ void as3_add_include_dir(char*dir);
 
 void as3_parse_file(const char*filename);
 void as3_parse_bytearray(const char*name, void*mem, int length);
+void as3_parse_directory(const char*dir);
+
+char as3_schedule_directory(const char*dir);
 void as3_schedule_package(const char*package);
 void as3_schedule_class(const char*package, const char*cls);