Re: [HACKERS] inet data type regression test fails - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: [HACKERS] inet data type regression test fails
Date
Msg-id 199905110054.JAA00849@ext16.sra.co.jp
Whole thread Raw
In response to Re: [HACKERS] inet data type regression test fails  (Bruce Momjian <maillist@candle.pha.pa.us>)
Responses Re: [HACKERS] inet data type regression test fails
Re: [HACKERS] inet data type regression test fails
List pgsql-hackers
> > > > int    addr = htonl(ntohl(ip_v4addr(ip)) | (0xffffffff >> ip_bits(ip)));
> > 
> > There needs to be a UL on the end of that constant. Otherwise it depends
> > on whether or not the compiler chooses to make it signed or unsigned. Not
> > only that, but shifting by >=32 is undefined... Intel chipsets will go mod
> > 32 and change 32 to 0.
> > 
> 
> Anyone want to supply a patch?

This has been already fixed. Now it looks like:
    unsigned long mask = 0xffffffff;
    if (ip_bits(ip) < 32)        mask >>= ip_bits(ip);    addr = htonl(ntohl(ip_v4addr(ip)) | mask);
---
Tatsuo Ishii


pgsql-hackers by date:

Previous
From: Taral
Date:
Subject: Optimization info
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] inet data type regression test fails