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)