summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networkAddress.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/networkAddress.h b/networkAddress.h
index 44c5b59..4217b4a 100644
--- a/networkAddress.h
+++ b/networkAddress.h
@@ -79,10 +79,13 @@ private:
void serialize(Archive & ar, const unsigned int version)
{
ar & network_address_type_;
- ar & ipv4_address_.s_addr;
- for(int i=0;i<4;i++)
- ar & ipv6_address_.s6_addr32;
- ar & ethernet_address_;
+ if (network_address_type_==ipv4)
+ ar & ipv4_address_.s_addr;
+ if (network_address_type_==ipv6)
+ for(int i=0;i<4;i++)
+ ar & ipv6_address_.s6_addr32;
+ if (network_address_type_==ethernet_address_)
+ ar & ethernet_address_;
}
};