Mail Archives: cygwin/2002/06/19/10:05:56
Bernard A Badger <bab AT vx DOT com> wrote:
> > -----Original Message-----
> > From: cygwin-owner AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com]On Behalf
> > Of Pavel Tsekov
> > Sent: Tuesday, June 18, 2002 4:41 PM
> > To: cygwin AT cygwin DOT com
> > Subject: Re[2]: Rebase 1.5-1: Causes invalid page fault
<snipped/>
> > The above is from help library that is coming with the
> > downloadable Platform SDK. It is dated November, 2001.
> > I just grepped /usr/include/w32api:
> > ./basetsd.h:100:typedef unsigned long ULONG_PTR, *PULONG_PTR;
> > So it is not a pointer to pointer. They have chosen a strange name
> > though :)
> Which "it" are you talking about? The typedef you found defines
> ULONG_PTR as a pointer to unsigned long, and also defines PULONG_PTR
> as a pointer to pointer to unsigned long. But I thought the issue
> was the type of NewImageBase.
No, `typedef unsigned long ULONG_PTR' defines `ULONG_PTR' as a synonym
for `unsigned long'.
Btw., if I remember the MSDN documentation correctly, ULONG_PTR is
supposed an integer with the the same /size/ as a pointer, but also a
typedef for unsigned long where possible. Hence the name.
> The question was whether
> ULONG_PTR *NewImageBase,
> defined a pointer to a pointer --- it does! *NewImageBase defines
> NewImageBase as a pointer to ULONG_PTR, which is itself a pointer,
> so it is, again, a pointer-to-pointer-to-unsigned-long.
No, it's a pointer to unsigned long which is really a pointer.
Jon Cast
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -