8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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-12 10:40:20.000000000 -0500
@@ -790,7 +790,7 @@
+++ 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) {}
+ while ((*((Tcl_UniChar *)p))++ != 0) {}
+ p_uc = (Tcl_UniChar *) p;
+ while (*p_uc++ != '\0') {}
+ p = (char *) p_uc;
} else {
while (*p++ != '\0') {}
}
|