ws2_32: Fix conversion of address in GetAddrInfoW

Dmitry Timoshkov dmitry at baikal.ru
Mon Feb 17 21:11:09 CST 2014


Bruno Jesus <00cpxxx at gmail.com> wrote:

> +        if (a->ai_canonname && b->ai_canonname)
> +        {
> +            char bufa[128], bufb[128];
> +            WideCharToMultiByte(CP_ACP, 0, a->ai_canonname, -1,
> +                                bufa, sizeof(bufa), NULL, NULL);
> +            WideCharToMultiByte(CP_ACP, 0, b->ai_canonname, -1,
> +                                bufb, sizeof(bufb), NULL, NULL);
> +            ok(!strcmp(bufa, bufb), "Wrong canonical name '%s' != '%s'\n", bufa, bufb);
> +        }

I'd suggest to avoid using fixed size buffers and call lstrcmpW() for
comparison and wine_dbgstr_w() to print the values.

> +        else if(a->ai_canonname || b->ai_canonname)
> +            ok(0, "Expected both canonical names present (%p != %p)\n", a->ai_canonname, b->ai_canonname);

It would look more natural IMHO to use
ok(!a->ai_canonname && !b->ai_canonname, "Expected both canonical names present (%p != %p)\n", a->ai_canonname, b->ai_canonname);
instead of explicit ok(0) (here and in the not unicode variant).

> +    if (a || b)
> +        ok(0, "Expected both addresses null (%p != %p)\n", a, b);

Same here.

-- 
Dmitry.



More information about the wine-devel mailing list