summaryrefslogtreecommitdiff
path: root/src/genjsbind.c
diff options
context:
space:
mode:
authorVincent Sanders <vincent.sanders@collabora.co.uk>2012-09-05 20:56:31 +0100
committerVincent Sanders <vincent.sanders@collabora.co.uk>2012-09-05 20:56:31 +0100
commitda234bc3e4e44693a6464140d2dee91a948a6145 (patch)
tree2a2d02e1619f351049e2c76221bb75c97950f6d0 /src/genjsbind.c
parent26dc8906aeb0783cf36bde31e9051b29a193eb23 (diff)
downloadnsgenbind-da234bc3e4e44693a6464140d2dee91a948a6145.tar.gz
nsgenbind-da234bc3e4e44693a6464140d2dee91a948a6145.tar.bz2
set lexers input properly
add node idl file
Diffstat (limited to 'src/genjsbind.c')
-rw-r--r--src/genjsbind.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/genjsbind.c b/src/genjsbind.c
index 145c16e..89d2fb0 100644
--- a/src/genjsbind.c
+++ b/src/genjsbind.c
@@ -13,12 +13,12 @@
extern int webidl_debug;
extern int webidl__flex_debug;
-extern FILE* webidl_in;
+extern void webidl_restart(FILE*);
extern int webidl_parse(void);
extern int genjsbind_debug;
extern int genjsbind__flex_debug;
-extern FILE* genjsbind_in;
+extern void genjsbind_restart(FILE*);
extern int genjsbind_parse(void);
struct options {
@@ -57,8 +57,9 @@ static FILE *idlopen(const char *filename)
int loadwebidl(char *filename)
{
/* set flex to read from file */
- webidl_in = idlopen(filename);
- if (!webidl_in) {
+ FILE *idlfile;
+ idlfile = idlopen(filename);
+ if (!idlfile) {
fprintf(stderr, "Error opening %s: %s\n",
filename,
strerror(errno));
@@ -69,6 +70,8 @@ int loadwebidl(char *filename)
webidl_debug = 1;
webidl__flex_debug = 1;
}
+
+ webidl_restart(idlfile);
/* parse the file */
return webidl_parse();
@@ -160,13 +163,13 @@ int main(int argc, char **argv)
return 3;
}
- /* set flex to read from file */
- genjsbind_in = infile;
-
if (options->debug) {
genjsbind_debug = 1;
genjsbind__flex_debug = 1;
}
+
+ /* set flex to read from file */
+ genjsbind_restart(infile);
parse_res = genjsbind_parse();
if (parse_res) {