diff options
author | Ondrej Filip <feela@network.cz> | 2000-05-30 15:39:06 +0200 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2000-05-30 15:39:06 +0200 |
commit | 2aa476a535c878a412bb732eae16d97848f07ff3 (patch) | |
tree | d5d5059edefa2a88b39261ed75cc94e60f6705ed /proto | |
parent | 76e2514328a71abd1ed37b9b32421d2ab924b4c0 (diff) | |
download | bird-2aa476a535c878a412bb732eae16d97848f07ff3.tar bird-2aa476a535c878a412bb732eae16d97848f07ff3.zip |
Yeah, the endianity bug found.
Diffstat (limited to 'proto')
-rw-r--r-- | proto/ospf/lsalib.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/proto/ospf/lsalib.c b/proto/ospf/lsalib.c index 646e478..020ca62 100644 --- a/proto/ospf/lsalib.c +++ b/proto/ospf/lsalib.c @@ -117,7 +117,8 @@ htonlsab(void *h, void *n, u8 type, u16 len) hs=h; ns=n; - ns->netmask=ipa_hton(hs->netmask); + ns->netmask=hs->netmask; + ipa_hton(ns->netmask); hn=(struct ospf_lsa_summ_net *)(hs+1); nn=(struct ospf_lsa_summ_net *)(ns+1); @@ -139,7 +140,8 @@ htonlsab(void *h, void *n, u8 type, u16 len) he=h; ne=n; - ne->netmask=ipa_hton(he->netmask); + ne->netmask=he->netmask; + ipa_hton(ne->netmask); ht=(struct ospf_lsa_ext_tos *)(he+1); nt=(struct ospf_lsa_ext_tos *)(ne+1); @@ -212,7 +214,8 @@ ntohlsab(void *n, void *h, u8 type, u16 len) hs=h; ns=n; - hs->netmask=ipa_ntoh(ns->netmask); + hs->netmask=ns->netmask; + ipa_ntoh(hs->netmask); hn=(struct ospf_lsa_summ_net *)(hs+1); nn=(struct ospf_lsa_summ_net *)(ns+1); @@ -234,7 +237,8 @@ ntohlsab(void *n, void *h, u8 type, u16 len) he=h; ne=n; - he->netmask=ipa_ntoh(ne->netmask); + he->netmask=ne->netmask; + ipa_ntoh(he->netmask); ht=(struct ospf_lsa_ext_tos *)(he+1); nt=(struct ospf_lsa_ext_tos *)(ne+1); |