summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2011-10-10 01:01:58 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2011-10-10 01:41:08 +0200
commit9b7fdfc84a516ede415cd1941e5ff1d6312e83ff (patch)
treee0795bd5512094ce7482367657aeb2d274228242
parent1cb97af419ee5bff45049f4d3a85acadbb5b1cb9 (diff)
downloadbird-9b7fdfc84a516ede415cd1941e5ff1d6312e83ff.tar
bird-9b7fdfc84a516ede415cd1941e5ff1d6312e83ff.zip
Fixes for include.
-rw-r--r--conf/cf-lex.l1
-rw-r--r--conf/conf.h2
-rw-r--r--nest/cli.c2
-rw-r--r--sysdep/unix/main.c3
4 files changed, 6 insertions, 2 deletions
diff --git a/conf/cf-lex.l b/conf/cf-lex.l
index 79dbab2..02ba4b3 100644
--- a/conf/cf-lex.l
+++ b/conf/cf-lex.l
@@ -75,6 +75,7 @@ linpool *cfg_mem;
int (*cf_read_hook)(byte *buf, unsigned int max, int fd);
int (*cf_open_hook)(char *filename);
+struct include_file_stack *ifs;
#define YY_INPUT(buf,result,max) result = cf_read_hook(buf, max, ifs->conf_fd);
#define YY_NO_UNPUT
diff --git a/conf/conf.h b/conf/conf.h
index df77268..142c6ad 100644
--- a/conf/conf.h
+++ b/conf/conf.h
@@ -120,7 +120,7 @@ struct include_file_stack {
struct include_file_stack *next;
};
-struct include_file_stack *ifs;
+extern struct include_file_stack *ifs;
int cf_lex(void);
diff --git a/nest/cli.c b/nest/cli.c
index c83a54f..f9cc0f4 100644
--- a/nest/cli.c
+++ b/nest/cli.c
@@ -224,7 +224,7 @@ static int cli_rh_trick_flag;
struct cli *this_cli;
static int
-cli_cmd_read_hook(byte *buf, unsigned int max)
+cli_cmd_read_hook(byte *buf, unsigned int max, UNUSED int fd)
{
if (!cli_rh_trick_flag)
{
diff --git a/sysdep/unix/main.c b/sysdep/unix/main.c
index 72f7e85..d617684 100644
--- a/sysdep/unix/main.c
+++ b/sysdep/unix/main.c
@@ -171,11 +171,14 @@ cf_open(char *filename)
if (*filename != '/') {
snprintf(full_name, sizeof(full_name), "%s/%s", dirname(config_name), filename);
+ full_name[sizeof(full_name)-1] = 0;
cur = full_name;
}
if ((ret = open(cur, O_RDONLY)) == -1)
cf_error("Unable to open included configuration file: %s", cur);
+
+ return ret;
}