mirror of
https://github.com/postgres/postgres.git
synced 2025-05-23 00:02:38 -04:00
Fix for netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0
This is because (-1) << 32 is -1 (Only intel arc. has been checked) Oleg Sharoiko
This commit is contained in:
parent
337ab803a2
commit
dabc3f31b5
1
doc/TODO
1
doc/TODO
@ -48,6 +48,7 @@ PARSER
|
|||||||
* redesign INSERT ... SELECT to have two levels of target list
|
* redesign INSERT ... SELECT to have two levels of target list
|
||||||
* -select * from pg_class where oid in (0,-1)
|
* -select * from pg_class where oid in (0,-1)
|
||||||
* have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
|
* have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
|
||||||
|
* prevent primary key of nine columns(see TODO.detail/primary)
|
||||||
|
|
||||||
VIEWS
|
VIEWS
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* is for IP V4 CIDR notation, but prepared for V6: just
|
* is for IP V4 CIDR notation, but prepared for V6: just
|
||||||
* add the necessary bits where the comments indicate.
|
* add the necessary bits where the comments indicate.
|
||||||
*
|
*
|
||||||
* $Id: network.c,v 1.15 1999/07/17 20:17:58 momjian Exp $
|
* $Id: network.c,v 1.16 1999/09/23 17:42:23 momjian Exp $
|
||||||
* Jon Postel RIP 16 Oct 1998
|
* Jon Postel RIP 16 Oct 1998
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -448,7 +448,8 @@ network_netmask(inet *ip)
|
|||||||
if (ip_family(ip) == AF_INET)
|
if (ip_family(ip) == AF_INET)
|
||||||
{
|
{
|
||||||
/* It's an IP V4 address: */
|
/* It's an IP V4 address: */
|
||||||
int addr = htonl((-1 << (32 - ip_bits(ip))) & 0xffffffff);
|
int addr = htonl(ip_bits(ip) ?
|
||||||
|
(-1 << (32 - ip_bits(ip))) & 0xffffffff : 0x00000000);
|
||||||
|
|
||||||
if (inet_net_ntop(AF_INET, &addr, 32, tmp, sizeof(tmp)) == NULL)
|
if (inet_net_ntop(AF_INET, &addr, 32, tmp, sizeof(tmp)) == NULL)
|
||||||
elog(ERROR, "unable to print netmask (%s)", strerror(errno));
|
elog(ERROR, "unable to print netmask (%s)", strerror(errno));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user