From 0ee8042821654bf4c07ad8fe2880a19593d6cec3 Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Sat, 7 Feb 2009 23:42:38 +0100 Subject: [PATCH] expose current_include_dirs --- lib/as3/files.c | 9 +++------ lib/as3/files.h | 8 +++++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/as3/files.c b/lib/as3/files.c index 580c9db..fc4ab6d 100644 --- a/lib/as3/files.c +++ b/lib/as3/files.c @@ -49,11 +49,6 @@ static void dbg(const char*format, ...) } -typedef struct _include_dir { - char*path; - struct _include_dir*next; -} include_dir_t; - int current_line=1; int current_column=0; char* current_filename=0; @@ -134,7 +129,7 @@ char is_absolute(char*filename) return 0; } -char*find_file(char*filename) +char*find_file(const char*filename) { include_dir_t*i = current_include_dirs; FILE*fi = 0; @@ -154,6 +149,8 @@ char*find_file(char*filename) if(fi) { fclose(fi); return p; + } else { + free(p); } i = i->next; } diff --git a/lib/as3/files.h b/lib/as3/files.h index 5d6420b..d73c0f3 100644 --- a/lib/as3/files.h +++ b/lib/as3/files.h @@ -22,14 +22,20 @@ #ifndef __avm2_files_h__ #define __avm2_files_h__ +typedef struct _include_dir { + char*path; + struct _include_dir*next; +} include_dir_t; + extern int current_line; extern int current_column; extern char* current_filename; extern char* current_filename_short; +extern include_dir_t* current_include_dirs; void add_include_dir(char*dir); -char*find_file(char*filename); +char*find_file(const char*filename); void enter_file(const char*name, const char*filename, void*state); FILE* enter_file2(const char*name, const char*filename, void*state); void* leave_file(); -- 1.7.10.4