summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dtc-lexer.l12
-rw-r--r--srcpos.h3
-rw-r--r--treesource.c3
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;
}
diff --git a/srcpos.h b/srcpos.h
index d548c09..e17c7c0 100644
--- a/srcpos.h
+++ b/srcpos.h
@@ -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;