msdmo: Array parameter is passed to function as pointer so loses size information

John Klehm xixsimplicityxix at
Wed Apr 9 13:38:01 CDT 2008

On Wed, Apr 9, 2008 at 11:54 AM, Andrew Talbot
<Andrew.Talbot at> wrote:
> Robert Shearman wrote:
>  > This is incorrect. count is the size in bytes of the buffer passed in
>  > (szName) and so should be sizeof(szName) not
>  > sizeof(szName)/sizeof(szName[0]) (i.e. 80).
>  >
Andrew T is right about arrays being decayed to pointers when passed
into functions, so sizeof(szName) is going to reuturn 4 or 8 or
whatever.  If count needs to be the size of the buffer shouldn't it

count = NAME_SIZE * sizeof(WCHAR);

but probably better would be DMO_MAX_NAME_SIZE and be in a header
somewhere (dmo.h?)?


More information about the wine-devel mailing list