Wireshark-dev: Re: [Wireshark-dev] Build failures with VS2013
From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Sun, 8 Dec 2013 21:29:46 +0000
On 7 December 2013 18:43, Graham Bloice <graham.bloice@xxxxxxxxxxxxx> wrote:
On 7 December 2013 17:06, Jakub Zawadzki <darkjames-ws@xxxxxxxxxxxx> wrote:
On Sat, Dec 07, 2013 at 04:50:10PM +0000, Graham Bloice wrote:
>  Started testing builds with VS 2013 Pro (nmake build), complaints about
> redefinitions:
>
> C:\Program Files (x86)\Windows Kits\8.1\include\um\ws2tcpip.h(531) : error
> C2373: 'ws_inet_pton' : redefinition; different type modifiers
>         E:\Wireshark\trunk\wsutil/inet_v6defs.h(44) : see declaration of
> 'ws_inet_pton'
> C:\Program Files (x86)\Windows Kits\8.1\include\um\ws2tcpip.h(548) : error
> C2373: 'ws_inet_ntop' : redefinition; different type modifiers
>         E:\Wireshark\trunk\wsutil/inet_v6defs.h(46) : see declaration of
> 'ws_inet_ntop'
>
> Looking at the definitions of these I can't see what's up.

I think it's about const in our prototypes / not-const in windows one.

Gah, I can see the issue on inet_ntop now, our prototype has const void* for the 2nd param, still can't see what's wrong with inet_pton though.


> The definitions from ws2tcpip.h:
>
> #if (NTDDI_VERSION >= NTDDI_VISTA)
> WINSOCK_API_LINKAGE
> INT
> WSAAPI
> inet_pton(
>     _In_                                INT             Family,
>     _In_                                PCSTR           pszAddrString,
>     _Out_writes_bytes_(sizeof(IN6_ADDR))      PVOID           pAddrBuf
>     );
>
> PCSTR
> WSAAPI
> inet_ntop(
>     _In_                                INT             Family,
>     _In_                                PVOID           pAddr,
>     _Out_writes_(StringBufSize)         PSTR            pStringBuf,
>     _In_                                size_t          StringBufSize
>     );
> #endif



Fixed with revision: 53870.  The required definitions weren't being provided for VS2013