vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| ITAGAKI Takahiro wrote: > - Cast DWORD to unsigned integer explicitly. > DWORD is always 32bit integer on both 32bit and 64bit Windows. I think if that is so, you wouldn't need to add any casts. Instead you would only need to use the right format specifier. -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches |
| |||
| Peter Eisentraut <peter_e@gmx.net> wrote: > ITAGAKI Takahiro wrote: > > - Cast DWORD to unsigned integer explicitly. > > DWORD is always 32bit integer on both 32bit and 64bit Windows. > > I think if that is so, you wouldn't need to add any casts. Instead you would > only need to use the right format specifier. DWORD is an alias for 'unsigned long' in 32bit Windows. Do you know how it defined in 64bit Windows? Postgres requires sizeof(long) = sizeof(void *), but sizeof(DWORD) is always 4. I fear the formatter for long integer might be broken in 64bit platform. If we could expect C99 is always available, 'PRIu32' would be the best choice. Regards, --- ITAGAKI Takahiro NTT Open Source Software Center -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches |
| |||
| On Fri, 14 Mar 2008, ITAGAKI Takahiro wrote: > DWORD is an alias for 'unsigned long' in 32bit Windows. > Do you know how it defined in 64bit Windows? sizeof(DWORD) is always 4, even on 64-bit windows. sizeof(long) is also always 4. If you want the unsigned integral type that is the same size as pointers, there are some MS-defined types you can use: DWORD_PTR, LONG_PTR, ULONG_PTR. Or use the standard size_t and ptrdiff_t. > > Postgres requires sizeof(long) = sizeof(void *) Which is why 64-bit windows is not supported. Hopefully at some point someone can remove this restriction, but it is likely to be a major undertaking... >, but sizeof(DWORD) is > always 4. I fear the formatter for long integer might be broken > in 64bit platform. > > If we could expect C99 is always available, 'PRIu32' would be the best choice. > > Regards, > --- > ITAGAKI Takahiro > NTT Open Source Software Center > > > > -- Worst Month of 1981 for Downhill Skiing: August. The lines are the shortest, though. -- Steve Rubenstein -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches |
| |||
| ITAGAKI Takahiro wrote: > DWORD is an alias for 'unsigned long' in 32bit Windows. Then try using %lu and no casts. That should get rid of the warnings the proper way. -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches |
| ||||
| Applied, Thanks. wiki updated. cheers andrew ITAGAKI Takahiro wrote: > Peter Eisentraut <peter_e@gmx.net> wrote: > > >> Then try using %lu and no casts. That should get rid of the warnings the >> proper way. >> > > Ok, I rewrote it to use %lu for format strings. > > > Jeremy Drake <pgsql@jdrake.com> wrote: > >> sizeof(DWORD) is always 4, even on 64-bit windows. sizeof(long) is also >> always 4. >> > > I got it. This change will work on 64-bit windows, because DWORD is > defined as 'unsigned long' there, too. We need to support LLP64 > compliers in advance, though. > > Regards, > --- > ITAGAKI Takahiro > NTT Open Source Software Center > > > > ------------------------------------------------------------------------ > > > -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches |