From: SourceForge.net <no...@so...> - 2008-06-14 09:44:50
|
Bugs item #1158095, was opened at 2005-03-07 19:20 Message generated for change (Settings changed) made by dannysmith You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1158095&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: w32api Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Kevin Stange (kstange) Assigned to: Nobody/Anonymous (nobody) Summary: ws2tcpip.h and ws2_32.a mismatch on gai_strerror Initial Comment: this issue occurs with MinGW 3.2.0-rc3 >From ws2tcpip.h: char* WSAAPI gai_strerrorA(int); WCHAR* WSAAPI gai_strerrorW(int); #ifdef UNICODE #define gai_strerror gai_strerrorW #else #define gai_strerror gai_strerrorA #endif /* UNICODE */ This function is declared in the header as above, but there seems to be no reference to it in ws2_32.a and Microsoft's own ws2_32.dll does not appear to export the function on Windows XP SP2. The documentation for gai_strerror suggests that it is declared in Wspiapi.h on all versions of Win32, but it seems to be missing from both MinGW and MSVC headers. The official documentation simply fails to list which DLL should be exporting this function contrary to usual practice on MSDN which is perplexing. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/gai_strerror_2.asp Additional documentation claims that the function is new to Windows 2003 (but it also claims getaddrinfo() is also new, which is not the case at all): http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/what_s_new_for_windows_sockets_2.asp I am unsure what the correct action should be, but MinGW probably shouldn't be internally inconsistent about the existence of this function. ---------------------------------------------------------------------- Comment By: Dimitri Papadopoulos (papadopo) Date: 2006-04-15 04:41 Message: Logged In: YES user_id=52414 These seem to be defined inline as macros. Similar macros or functions are defined in other projects, all in terms of FormatMessage: sock_geterror() in WinPcap http://www.winpcap.org/docs/man/html/sockutils_8c-source.html crTCPIPErrno() in Chromium http://cvs.sourceforge.net/viewcvs.py/chromium/cr/util/tcpip.c?rev=1.81&view=markup ... ---------------------------------------------------------------------- Comment By: Dimitri Papadopoulos (papadopo) Date: 2006-04-15 04:41 Message: Logged In: YES user_id=52414 The problem you report has caused modification in some fashion in the official CVS for the given package. The w32api and mingw-runtime official CVS reside in the winsup CVS directory tree for Cygwin. Those package CVS trees are periodically merged into the MinGW CVS tree. If you still find problems then please open a new report. ---------------------------------------------------------------------- Comment By: Dimitri Papadopoulos (papadopo) Date: 2006-04-15 04:02 Message: Logged In: YES user_id=52414 These seem to be defined inline as macros. Similar macros or functions are defined in other projects, all in terms of FormatMessage: sock_geterror() in WinPcap http://www.winpcap.org/docs/man/html/sockutils_8c-source.html crTCPIPErrno() in Chromium http://cvs.sourceforge.net/viewcvs.py/chromium/cr/util/tcpip.c?rev=1.81&view=markup ... ---------------------------------------------------------------------- Comment By: Thomas Grill (xovo) Date: 2005-04-24 23:13 Message: Logged In: YES user_id=350252 Under Windows, the gai_strerror function is implemented _inline_ in the ws2tcpip.h SDK header file. There doesn't seem to be any actual implementation code in MinGW. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1158095&group_id=2435 |