diff --git a/src/backend/utils/adt/network.c b/src/backend/utils/adt/network.c index d238098c25..a9683116e9 100644 --- a/src/backend/utils/adt/network.c +++ b/src/backend/utils/adt/network.c @@ -1,7 +1,7 @@ /* * PostgreSQL type definitions for the INET and CIDR types. * - * $Header: /cvsroot/pgsql/src/backend/utils/adt/network.c,v 1.43 2003/07/27 04:53:07 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/network.c,v 1.44 2003/08/01 23:22:52 tgl Exp $ * * Jon Postel RIP 16 Oct 1998 */ @@ -45,7 +45,6 @@ static int ip_addrsize(inet *inetptr); (ip_family(inetptr) == PGSQL_AF_INET ? 32 : 128) /* - * Now, as a function! * Return the number of bytes of storage needed for this data type. */ static int @@ -76,11 +75,10 @@ network_in(char *src, int type) * if there is one present, assume it's V6, otherwise assume it's V4. */ - if (strchr(src, ':') != NULL) { + if (strchr(src, ':') != NULL) ip_family(dst) = PGSQL_AF_INET6; - } else { + else ip_family(dst) = PGSQL_AF_INET; - } bits = inet_net_pton(ip_family(dst), src, ip_addr(dst), type ? ip_addrsize(dst) : -1); @@ -188,7 +186,8 @@ inet_recv(PG_FUNCTION_ARGS) addr = (inet *) palloc0(VARHDRSZ + sizeof(inet_struct)); ip_family(addr) = pq_getmsgbyte(buf); - if (ip_family(addr) != AF_INET) + if (ip_family(addr) != PGSQL_AF_INET && + ip_family(addr) != PGSQL_AF_INET6) ereport(ERROR, (errcode(ERRCODE_INVALID_BINARY_REPRESENTATION), errmsg("invalid family in external inet"))); @@ -218,7 +217,7 @@ inet_recv(PG_FUNCTION_ARGS) /* * Error check: CIDR values must not have any bits set beyond the - * masklen. XXX this code is not IPV6 ready. + * masklen. */ if (ip_type(addr)) { @@ -902,12 +901,10 @@ addressOK(unsigned char *a, int bits, int family) maxbits = 128; maxbytes = 16; } -#if 0 - assert(bits <= maxbits); -#endif + Assert(bits <= maxbits); if (bits == maxbits) - return 1; + return true; byte = (bits + 7) / 8; nbits = bits % 8; @@ -917,12 +914,12 @@ addressOK(unsigned char *a, int bits, int family) while (byte < maxbytes) { if ((a[byte] & mask) != 0) - return 0; + return false; mask = 0xff; byte++; } - return 1; + return true; }