diff options
-rw-r--r-- | dtc-lexer.l | 12 | ||||
-rw-r--r-- | srcpos.h | 3 | ||||
-rw-r--r-- | treesource.c | 3 |
3 files changed, 8 insertions, 10 deletions
diff --git a/dtc-lexer.l b/dtc-lexer.l index a643ab3..04b1753 100644 --- a/dtc-lexer.l +++ b/dtc-lexer.l @@ -52,6 +52,9 @@ static int dts_version; /* = 0 */ DPRINT("<V1>\n"); \ BEGIN(V1); \ } + +static void push_input_file(const char *filename); +static int pop_input_file(void); %} %% @@ -229,7 +232,7 @@ struct incl_file { struct incl_file *prev; }; -struct incl_file *incl_file_stack; +static struct incl_file *incl_file_stack; /* @@ -240,7 +243,7 @@ struct incl_file *incl_file_stack; static int incl_depth = 0; -void push_input_file(const char *filename) +static void push_input_file(const char *filename) { struct incl_file *incl_file; struct dtc_file *newfile; @@ -282,7 +285,7 @@ void push_input_file(const char *filename) } -int pop_input_file(void) +static int pop_input_file(void) { struct incl_file *incl_file; @@ -312,8 +315,5 @@ int pop_input_file(void) */ free(incl_file); - if (YY_CURRENT_BUFFER == 0) - return 0; - return 1; } @@ -75,9 +75,6 @@ extern void yyerrorf(char const *, ...) __attribute__((format(printf, 1, 2))); extern struct dtc_file *srcpos_file; -extern void push_input_file(const char *filename); -extern int pop_input_file(void); - struct search_path { const char *dir; /* NULL for current directory */ struct search_path *prev, *next; diff --git a/treesource.c b/treesource.c index 9cbf0a9..3c24e7f 100644 --- a/treesource.c +++ b/treesource.c @@ -32,7 +32,8 @@ struct boot_info *dt_from_source(const char *fname) the_boot_info = NULL; treesource_error = 0; - push_input_file(fname); + srcpos_file = dtc_open_file(fname, NULL); + yyin = srcpos_file->file; if (yyparse() != 0) return NULL; |