[packages] olsrd: Fix quagga plugin metric parsing

git-svn-id: svn://svn.openwrt.org/openwrt/packages@31319 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
acinonyx 2012-04-16 19:15:24 +00:00
parent 947ea00753
commit cbdcdcb456

View File

@ -0,0 +1,18 @@
diff --git a/lib/quagga/src/parse.c b/lib/quagga/src/parse.c
index 5220849..8672fab 100644
--- a/lib/quagga/src/parse.c
+++ b/lib/quagga/src/parse.c
@@ -103,11 +103,11 @@ static struct zroute
// Quagga v0.98.6 BUG workaround: metric is always sent by zebra
// even without ZAPI_MESSAGE_METRIC message.
-// if (r.message & ZAPI_MESSAGE_METRIC) {
+ if ((r->message & ZAPI_MESSAGE_METRIC) || !zebra.version) {
memcpy(&r->metric, pnt, sizeof r->metric);
r->metric = ntohl(r->metric);
pnt += sizeof r->metric;
-// }
+ }
if (pnt - opt != length) {
olsr_exit("(QUAGGA) Length does not match!", EXIT_FAILURE);