This is the mail archive of the
mailing list for the Cygwin project.
RE: Re: Rebase 1.5-1: Causes invalid page fault
- From: "Bernard A Badger" <bab at vx dot com>
- To: <cygwin at cygwin dot com>
- Date: Wed, 19 Jun 2002 10:51:30 -0400
- Subject: RE: Re: Rebase 1.5-1: Causes invalid page fault
> -----Original Message-----
> > > ./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
Ack! You are so right! I was blinded by the "_PTR" in the name ULONG_PTR,
and didn't understand that that was the "strange name" you meant.
My apologies to all.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html