diff options
author | Bruce Momjian <bruce@momjian.us> | 2003-06-23 23:52:00 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2003-06-23 23:52:00 +0000 |
commit | 99308891ef00fe092352741992d9bbaabbd33404 (patch) | |
tree | 6d8f09bf9a1965fa792e713dbcec45828def9563 /src | |
parent | 6403a6729c79152ee8c46f997ee796448a7a8bf6 (diff) | |
download | postgresql-99308891ef00fe092352741992d9bbaabbd33404.tar.gz postgresql-99308891ef00fe092352741992d9bbaabbd33404.zip |
Remove references to sa_family_t, except when SOCKADDR_STORAGE requires
it.
Also handle __ss_family as a synonym for ss_family.
Kurt Roeckx
Diffstat (limited to 'src')
-rw-r--r-- | src/include/libpq/pqcomm.h | 8 | ||||
-rw-r--r-- | src/include/pg_config.h.in | 6 | ||||
-rw-r--r-- | src/port/getaddrinfo.c | 14 |
3 files changed, 19 insertions, 9 deletions
diff --git a/src/include/libpq/pqcomm.h b/src/include/libpq/pqcomm.h index ed41464c2cc..a11c30ca3bb 100644 --- a/src/include/libpq/pqcomm.h +++ b/src/include/libpq/pqcomm.h @@ -9,7 +9,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pqcomm.h,v 1.86 2003/06/12 07:36:51 momjian Exp $ + * $Id: pqcomm.h,v 1.87 2003/06/23 23:51:59 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -65,6 +65,12 @@ struct sockaddr_storage { * _SS_MAXSIZE value minus size of ss_family * __ss_pad1, __ss_align fields is 112 */ }; +#elif !defined(HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY) +# ifdef HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY +# define ss_family __ss_family +# else +# error struct sockaddr_storage does not provide an ss_family member +# endif #endif typedef struct { diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5a3e62915f7..41806fe8fb2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -423,6 +423,12 @@ /* Define to 1 if the system has the type `struct sockaddr_storage'. */ #undef HAVE_STRUCT_SOCKADDR_STORAGE +/* Define to 1 if `ss_family' is member of `struct sockaddr_storage'. */ +#undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY + +/* Define to 1 if `__ss_family' is member of `struct sockaddr_storage'. */ +#undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY + /* Define to 1 if the system has the type `struct sockaddr_un'. */ #undef HAVE_STRUCT_SOCKADDR_UN diff --git a/src/port/getaddrinfo.c b/src/port/getaddrinfo.c index 1cfee0485bd..cc584a2209a 100644 --- a/src/port/getaddrinfo.c +++ b/src/port/getaddrinfo.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/port/getaddrinfo.c,v 1.8 2003/06/14 18:20:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/port/getaddrinfo.c,v 1.9 2003/06/23 23:52:00 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -220,7 +220,6 @@ getnameinfo(const struct sockaddr *sa, int salen, char *node, int nodelen, char *service, int servicelen, int flags) { - sa_family_t family; int ret = -1; /* Invalid arguments. */ @@ -236,9 +235,8 @@ getnameinfo(const struct sockaddr *sa, int salen, return EAI_FAIL; } - family = sa->sa_family; #ifdef HAVE_IPV6 - if (family == AF_INET6) + if (sa->sa_family == AF_INET6) { return EAI_FAMILY; } @@ -246,13 +244,13 @@ getnameinfo(const struct sockaddr *sa, int salen, if (service) { - if (family == AF_INET) + if (sa->sa_family == AF_INET) { ret = snprintf(service, servicelen, "%d", ntohs(((struct sockaddr_in *)sa)->sin_port)); } #ifdef HAVE_UNIX_SOCKETS - else if (family == AF_UNIX) + else if (sa->sa_family == AF_UNIX) { ret = snprintf(service, servicelen, "%s", ((struct sockaddr_un *)sa)->sun_path); @@ -266,14 +264,14 @@ getnameinfo(const struct sockaddr *sa, int salen, if (node) { - if (family == AF_INET) + if (sa->sa_family == AF_INET) { char *p; p = inet_ntoa(((struct sockaddr_in *)sa)->sin_addr); ret = snprintf(node, nodelen, "%s", p); } #ifdef HAVE_UNIX_SOCKETS - else if (family == AF_UNIX) + else if (sa->sa_family == AF_UNIX) { ret = snprintf(node, nodelen, "%s", "localhost"); } |