Posted to tcl by patthoyts at Sun Apr 01 21:51:10 GMT 2007view pretty
Index: generic/udp_tcl.c =================================================================== RCS file: /cvsroot/tcludp/tcludp/generic/udp_tcl.c,v retrieving revision 1.37 diff -u -r1.37 udp_tcl.c --- generic/udp_tcl.c 30 Mar 2007 21:22:54 -0000 1.37 +++ generic/udp_tcl.c 1 Apr 2007 21:47:14 -0000 @@ -1458,9 +1458,22 @@ static Tcl_Obj * ErrorToObj(const char * prefix) { + Tcl_Obj *errObj; +#ifdef WIN32 + LPVOID sMsg; + DWORD cbWrote = 0; + FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER + | FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError(), + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPSTR)&sMsg, 0, NULL); + errObj = Tcl_NewStringObj(prefix, -1); + Tcl_AppendStringsToObj(errObj, ": ", (LPSTR)sMsg, NULL); + LocalFree(sMsg); +#elif defined(HAVE_STRERROR) extern int errno; Tcl_Obj *errObj = Tcl_NewStringObj(prefix, -1); -#ifdef HAVE_STRERROR Tcl_AppendStringsToObj(errObj, ": ", strerror(errno), NULL); #endif return errObj; @@ -1511,7 +1524,7 @@ { int port = 0; int r = UdpSockGetPort(interp, service, "udp", &port); - *servicePort = htons(port); + *servicePort = htons((short)port); return r; } Index: win/makefile.vc =================================================================== RCS file: /cvsroot/tcludp/tcludp/win/makefile.vc,v retrieving revision 1.5 diff -u -r1.5 makefile.vc --- win/makefile.vc 27 Nov 2005 21:32:01 -0000 1.5 +++ win/makefile.vc 1 Apr 2007 21:49:00 -0000 @@ -156,7 +156,7 @@ PROJECT = udp !include "rules.vc" -DOTVERSION = 1.0.8 +DOTVERSION = 1.0.9 VERSION = $(DOTVERSION:.=) STUBPREFIX = $(PROJECT)stub
Comments
Posted by kostix at Sun Apr 01 22:16:49 GMT 2007 [text] [code]
#ifdef WIN32 LPVOID sMsg; Tcl_DString *dsPtr; Tcl_DStringInit(dsPtr); FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&sMsg, 0, NULL); Tcl_UniCharToUtfDString(sMsg, -1, dsPtr); errObj = Tcl_NewStringObj(prefix, -1); Tcl_AppendStringsToObj(errObj, ": ", Tcl_DStringValue(dsPtr), NULL); LocalFree(sMsg); Tcl_DStringFree(dsPtr); #elif defined(HAVE_STRERROR)