summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-05-02 22:41:40 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2010-05-02 22:41:40 +0200
commit506fa1a73eab0c6426f68cd7784c6712898b88f3 (patch)
tree3c04d5900a70a026f98a0f20349fd33fde0e4162
parent6384c7d7aa85d1e593eca30cda48f6677b023cb0 (diff)
downloadbird-506fa1a73eab0c6426f68cd7784c6712898b88f3.tar
bird-506fa1a73eab0c6426f68cd7784c6712898b88f3.zip
Merge several fixes suggested by Joakim Tjernlund.
-rw-r--r--conf/cf-lex.l5
-rw-r--r--proto/bgp/packets.c1
-rw-r--r--proto/ospf/lsalib.c2
-rw-r--r--proto/ospf/lsalib.h4
-rw-r--r--tools/Rules.in2
5 files changed, 9 insertions, 5 deletions
diff --git a/conf/cf-lex.l b/conf/cf-lex.l
index 3fe3c2e..a99acdc 100644
--- a/conf/cf-lex.l
+++ b/conf/cf-lex.l
@@ -77,6 +77,9 @@ int (*cf_read_hook)(byte *buf, unsigned int max);
%}
%option noyywrap
+%option noinput
+%option nounput
+%option noreject
%x COMMENT CCOMM CLI
@@ -110,7 +113,7 @@ WHITE [ \t]
#endif
}
-0x{DIGIT}+ {
+0x{XIGIT}+ {
char *e;
long int l;
errno = 0;
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index af7ce0c..2160182 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -1050,6 +1050,7 @@ static struct {
{ 2, 5, "Authentication failure" },
{ 2, 6, "Unacceptable hold time" },
{ 2, 7, "Required capability missing" }, /* [RFC3392] */
+ { 2, 8, "No supported AFI/SAFI" }, /* This error msg is nonstandard */
{ 3, 0, "Invalid UPDATE message" },
{ 3, 1, "Malformed attribute list" },
{ 3, 2, "Unrecognized well-known attribute" },
diff --git a/proto/ospf/lsalib.c b/proto/ospf/lsalib.c
index 27a0148..2f52fe9 100644
--- a/proto/ospf/lsalib.c
+++ b/proto/ospf/lsalib.c
@@ -240,7 +240,7 @@ lsasum_check(struct ospf_lsa_header *h, void *body)
c1 %= 255;
}
- x = ((length - LSA_CHECKSUM_OFFSET) * c0 - c1) % 255;
+ x = (int)((length - LSA_CHECKSUM_OFFSET) * c0 - c1) % 255;
if (x <= 0)
x += 255;
y = 510 - c0 - x;
diff --git a/proto/ospf/lsalib.h b/proto/ospf/lsalib.h
index f98a1bd..8a949d8 100644
--- a/proto/ospf/lsalib.h
+++ b/proto/ospf/lsalib.h
@@ -13,8 +13,8 @@
#ifdef CPU_BIG_ENDIAN
static inline void htonlsah(struct ospf_lsa_header *h, struct ospf_lsa_header *n) { *n = *h; };
static inline void ntohlsah(struct ospf_lsa_header *n, struct ospf_lsa_header *h) { *h = *n; };
-static inline void htonlsab(void *h, void *n, u16 len) { memcpy(n, h, len); };
-static inline void ntohlsab(void *n, void *h, u16 len) { memcpy(h, n, len); };
+static inline void htonlsab(void *h, void *n, u16 len) { ASSERT(h != n); memcpy(n, h, len); };
+static inline void ntohlsab(void *n, void *h, u16 len) { ASSERT(n != h); memcpy(h, n, len); };
static inline void htonlsab1(void *h, u16 len) { };
static inline void ntohlsab1(void *n, u16 len) { };
#else
diff --git a/tools/Rules.in b/tools/Rules.in
index 79a15fa..e4598e2 100644
--- a/tools/Rules.in
+++ b/tools/Rules.in
@@ -66,7 +66,7 @@ else
subdir: all.o
all.o: $(objs)
- $(LD) -r -o $@ $^
+ $(CC) -nostdlib -Wl,-r -o $@ $^
endif