From 05c9d104ed2cd98d18d4f717734117ce59910912 Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Sun, 8 Feb 2009 21:32:28 +0100 Subject: [PATCH] new function compile_directory() --- lib/as3/compiler.c | 29 +++++++++++++++++++++-------- lib/as3/compiler.h | 3 +++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/lib/as3/compiler.c b/lib/as3/compiler.c index 11c6792..8c2337a 100644 --- a/lib/as3/compiler.c +++ b/lib/as3/compiler.c @@ -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); } diff --git a/lib/as3/compiler.h b/lib/as3/compiler.h index ac1b948..7786e7a 100644 --- a/lib/as3/compiler.h +++ b/lib/as3/compiler.h @@ -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); -- 1.7.10.4