Re: [HACKERS] inet data type regression test fails

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [HACKERS] inet data type regression test fails
Дата
Msg-id 199905110105.VAA26651@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: [HACKERS] inet data type regression test fails  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Список 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);

Oh.  Very nice.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tatsuo Ishii
Дата:
Сообщение: Re: [HACKERS] inet data type regression test fails
Следующее
От: Taral
Дата:
Сообщение: Re: [HACKERS] inet data type regression test fails