aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2003-06-23 23:52:00 +0000
committerBruce Momjian <bruce@momjian.us>2003-06-23 23:52:00 +0000
commit99308891ef00fe092352741992d9bbaabbd33404 (patch)
tree6d8f09bf9a1965fa792e713dbcec45828def9563 /src
parent6403a6729c79152ee8c46f997ee796448a7a8bf6 (diff)
downloadpostgresql-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.h8
-rw-r--r--src/include/pg_config.h.in6
-rw-r--r--src/port/getaddrinfo.c14
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");
}