diff options
author | Pavel Machek <pavel@ucw.cz> | 2000-05-10 15:05:39 +0200 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2000-05-10 15:05:39 +0200 |
commit | 30aa02d70df2275d2289d9b736d879b9951bcaee (patch) | |
tree | 137d9d11aada41d405ba1fb40827450bbac22135 /proto | |
parent | b8524e9be4f1d15f4cd2cd365d7842eff8d5a499 (diff) | |
download | bird-30aa02d70df2275d2289d9b736d879b9951bcaee.tar bird-30aa02d70df2275d2289d9b736d879b9951bcaee.zip |
rip_reconfigure done right
Diffstat (limited to 'proto')
-rw-r--r-- | proto/rip/rip.c | 7 | ||||
-rw-r--r-- | proto/rip/rip.h | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/proto/rip/rip.c b/proto/rip/rip.c index 17d0d5a..f69127d 100644 --- a/proto/rip/rip.c +++ b/proto/rip/rip.c @@ -868,10 +868,11 @@ static int rip_reconfigure(struct proto *p, struct proto_config *c) { struct rip_config *new = (struct rip_config *) c; + int generic = sizeof(struct proto_config) + sizeof(list); - return !memcmp(((byte *) P_CF) + sizeof(struct proto_config), - ((byte *) new) + sizeof(struct proto_config), - sizeof(struct rip_proto_config) - sizeof(struct proto_config)); + return !memcmp(((byte *) P_CF) + generic, + ((byte *) new) + generic, + sizeof(struct rip_proto_config) - generic); } struct protocol proto_rip = { diff --git a/proto/rip/rip.h b/proto/rip/rip.h index 7c7b000..cbddeaf 100644 --- a/proto/rip/rip.h +++ b/proto/rip/rip.h @@ -120,7 +120,7 @@ struct rip_patt { struct rip_proto_config { struct proto_config c; - list iface_list; /* Patterns configured */ + list iface_list; /* Patterns configured -- keep it first; see rip_reconfigure why */ int infinity; /* User configurable data */ int port; |