Overview
| Comment: | Corrected patch to "registry" in Tcl 8.4 to build with new mingw | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | 
| Files: | files | file ages | folders | 
| SHA1: | e33de4de969048d6f18c67485d061f91 | 
| User & Date: | rkeene on 2010-10-13 07:10:27 | 
| Other Links: | manifest | tags | 
Context
| 2010-10-14 | ||
| 07:41 | Added patch for Tcl 8.4.19 to support compiling on Haiku Updated release script to release patchscripts for Tclcheck-in: a15ed07178 user: rkeene tags: trunk | |
| 2010-10-13 | ||
| 07:10 | Corrected patch to "registry" in Tcl 8.4 to build with new mingw check-in: e33de4de96 user: rkeene tags: trunk | |
| 2010-10-12 | ||
| 16:13 | Added registry test check-in: 9fb27167af user: rkeene tags: trunk | |
Changes
Modified tcl/patches/8.4.19/tcl-8.4.19-win32castingfailure-1rsk.diff from [15d3e2419e] to [6395811591].
| ︙ | ︙ | |||
| 8 9 10 11 12 13 14 | 
-	    ((Tcl_Obj **) objv) += (async + 3);
+	    objv += (async + 3);
 
             /*
 	     * See if the target interpreter is local.  If so, execute
diff -uNr tcl8.4.19.orig/win/tclWinReg.c tcl8.4.19-1rsk/win/tclWinReg.c
--- tcl8.4.19.orig/win/tclWinReg.c	2007-05-15 11:08:22.000000000 -0500
 | | > > > > > > > > | | > > | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 
-	    ((Tcl_Obj **) objv) += (async + 3);
+	    objv += (async + 3);
 
             /*
 	     * See if the target interpreter is local.  If so, execute
diff -uNr tcl8.4.19.orig/win/tclWinReg.c tcl8.4.19-1rsk/win/tclWinReg.c
--- tcl8.4.19.orig/win/tclWinReg.c	2007-05-15 11:08:22.000000000 -0500
+++ tcl8.4.19-1rsk/win/tclWinReg.c	2010-10-13 02:03:11.000000000 -0500
@@ -776,6 +776,7 @@
     } else if (type == REG_MULTI_SZ) {
 	char *p = Tcl_DStringValue(&data);
 	char *end = Tcl_DStringValue(&data) + length;
+        Tcl_UniChar *p_uc;
 
 	/*
 	 * Multistrings are stored as an array of null-terminated strings,
@@ -790,7 +791,9 @@
 		    Tcl_NewStringObj(Tcl_DStringValue(&buf),
 			    Tcl_DStringLength(&buf)));
 	    if (regWinProcs->useWide) {
-		while (*((Tcl_UniChar *)p)++ != 0) {}
+                p_uc = (Tcl_UniChar *) p;
+		while (*p_uc++ != '\0') {}
+                p = (char *) p_uc;
 	    } else {
 		while (*p++ != '\0') {}
 	    }
 |