diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-04-14 00:50:08 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-04-16 01:37:27 +0000 |
commit | 4d9a4f921c1a79d2d82aae3e104cac43537b1e2d (patch) | |
tree | 25f79dbbe2b1c813c4247b875a0f837abcf79ca4 /cmogstored.h | |
parent | 8c79cf794f6178b6978743af99d498ca0b449fb1 (diff) | |
download | cmogstored-4d9a4f921c1a79d2d82aae3e104cac43537b1e2d.tar.gz |
The generic "struct sockaddr" may be padded to be the same size as "struct sockaddr_storage" (which is what we were trying to avoid in the first place by uinsg mog_sockaddr). This change makes no difference on GNU/Linux.
Diffstat (limited to 'cmogstored.h')
-rw-r--r-- | cmogstored.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cmogstored.h b/cmogstored.h index 1681e1e..25bbb62 100644 --- a/cmogstored.h +++ b/cmogstored.h @@ -558,6 +558,10 @@ _Noreturn void cmogstored_exit(void); union mog_sockaddr { struct sockaddr_in in; struct sockaddr_in6 in6; - struct sockaddr sa; - unsigned char bytes[1]; + uint8_t bytes[sizeof(struct sockaddr_in6)]; }; + +static inline struct sockaddr *mog_sockaddr_sa(union mog_sockaddr *msa) +{ + return (struct sockaddr *)msa; +} |