Re: [PATCH] Correct prototypes in w32api

Danny Smith <[email protected]>
Newsgroups gmane.comp.gnu.mingw.patches
Message-ID <001401c215d4$2fcc8da0$e590a7cb@DANNY>
----- Original Message -----
From: "Casper Hornstrup" <[email protected]>
To: "Danny Smith" <[email protected]>
Sent: Monday, 17 June 2002 00:29
Subject: Re: [MinGW-patches] [PATCH] Correct prototypes in w32api


søn, 2002-06-16 kl. 10:56 skrev Danny Smith:
>
> ----- Original Message -----
> From: "Casper Hornstrup" <[email protected]>
> To: <[email protected]>
> Sent: Sunday, 16 June 2002 02:02
> Subject: [MinGW-patches] [PATCH] Correct prototypes in w32api
> >
>
> Casper, could you please double check these.  I'm finding
> inconsistencies with my PSDK-Aug 2001 docs.  In particular, could you
> check some of the CONST's.  Most that I've checked are okay, but there
> are a few that look questionable.
>
I just updated my Platform SDK from msdn.microsoft.com (May 2002) and
verified them all. I'll send in patches for one header at a time. You
are right that it should be SECURITY_ATTRIBUTES* and not
LPSECURITY_ATTRIBUTES.

Thanks for double checking, Casper, I don't mean to be anal, but I  was
a bit overwhelmed with the flood of patches and didn't think I would
have time to carefully scrutinize everything. I trust that everything is
in order now that you've checked again.


>
> Another spot check  found that this change (in winuser.h) contradicts
my
> docs:
> -int WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA);
> -int WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW);
> +int WINAPI MessageBoxIndirectA(CONST LPMSGBOXPARAMSA);
> +int WINAPI MessageBoxIndirectW(CONST LPMSGBOXPARAMSW);

According to new PSDK, May 2002 it should be const LPMSGBOXPARAMS[A|W],
not CONST LPMSGBOXPARAMS[A|W]. but it seem to have a const modifier.
I will change it to "const" in next patch.

OK.


> Some more general questions:
> Why all the fuss of PFOO vs LPFOO?  Is this for the sake of Win16?

They may be from Win16, but MS use them in Win32 APIs too. My reason for
changing them is that the function signatures of the ReactOS DLL's are
sometimes different from the w32api prototypes. This causes the build to
fail. So I'm left with three choices, a) change the ReactOS DLL function
signatures to match the w32api prototypes or b) change the w32api
prototypes to match the ReactOS DLL function signatures, or c) correct
both w32api prototypes and ReactOS DLL function signatures to match MS
documentation. I choose c) because a) and b) are unsafe in that, if
someone decides to correct the w32api prototypes in the future, building
ReactOS with w32api will be broken.

c) Is my preference too.

> Where do I find docs on the 16-bit typedefs (LONG16 and others) in
> basetsd.h. Are these for Win16?

I did some checking and you are right, they seem to be only for Win16.
Forget that change.

OK
>
>
> It would be much easier to review if  patch was broken up, either by
> header, or by some common fault that you are correcting.
>
> Danny

I'll break them up by header and resubmit them.

Casper

Thanks very much. I do appreciate all the effort you've put into this.
Danny






_______________________________________________________________

Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.