libsystemd: make use of our common sockaddr_union everywhere

This commit is contained in:
Lennart Poettering 2014-07-10 21:16:40 +02:00
parent 3b653205cf
commit 3cb4674019
2 changed files with 3 additions and 15 deletions

View file

@ -237,12 +237,7 @@ struct sd_bus {
Hashmap *vtable_methods;
Hashmap *vtable_properties;
union {
struct sockaddr sa;
struct sockaddr_un un;
struct sockaddr_in in;
struct sockaddr_in6 in6;
} sockaddr;
union sockaddr_union sockaddr;
socklen_t sockaddr_size;
char *kernel;

View file

@ -37,6 +37,7 @@
#include "util.h"
#include "path-util.h"
#include "socket-util.h"
#include "sd-daemon.h"
_public_ int sd_listen_fds(int unset_environment) {
@ -196,14 +197,6 @@ static int sd_is_socket_internal(int fd, int type, int listening) {
return 1;
}
union sockaddr_union {
struct sockaddr sa;
struct sockaddr_in in4;
struct sockaddr_in6 in6;
struct sockaddr_un un;
struct sockaddr_storage storage;
};
_public_ int sd_is_socket(int fd, int family, int type, int listening) {
int r;
@ -261,7 +254,7 @@ _public_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint
if (l < sizeof(struct sockaddr_in))
return -EINVAL;
return htons(port) == sockaddr.in4.sin_port;
return htons(port) == sockaddr.in.sin_port;
} else {
if (l < sizeof(struct sockaddr_in6))
return -EINVAL;