summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-07-11 19:24:12 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-07-11 19:24:12 (GMT)
commit28049f564d31e4cc25a6b185b016563d4e2726c0 (patch)
tree37f171a4b263d41bda7476cc74cbf8bfc82833d6 /win
parent46bc5ba547cd8ffb93338b768173ce8ba5dc4a72 (diff)
downloadtcl-28049f564d31e4cc25a6b185b016563d4e2726c0.zip
tcl-28049f564d31e4cc25a6b185b016563d4e2726c0.tar.gz
tcl-28049f564d31e4cc25a6b185b016563d4e2726c0.tar.bz2
[Bug #3362446]: registry keys command fails with 8.5/8.6. Follow Microsofts example better in order to prevent problems when using HKEY_PERFORMANCE_DATA.
Forgot one important '%'
Diffstat (limited to 'win')
-rw-r--r--win/tclWinPipe.c2
-rw-r--r--win/tclWinReg.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/win/tclWinPipe.c b/win/tclWinPipe.c
index 9a529d2..b6764d4 100644
--- a/win/tclWinPipe.c
+++ b/win/tclWinPipe.c
@@ -1707,7 +1707,7 @@ TclpCreateCommandChannel(
* unique, in case channels share handles (stdin/stdout).
*/
- sprintf(channelName, "file" TCL_I_MODIFIER "x", (size_t)infoPtr);
+ sprintf(channelName, "file%" TCL_I_MODIFIER "x", (size_t)infoPtr);
infoPtr->channel = Tcl_CreateChannel(&pipeChannelType, channelName,
(ClientData) infoPtr, infoPtr->validMask);
diff --git a/win/tclWinReg.c b/win/tclWinReg.c
index 343a22f..a6ce2ce 100644
--- a/win/tclWinReg.c
+++ b/win/tclWinReg.c
@@ -794,7 +794,7 @@ GetValue(
* HKEY_PERFORMANCE_DATA
*/
- length *= 2;
+ length = Tcl_DStringLength(&data) * (regWinProcs->useWide ? 1 : 2);
Tcl_DStringSetLength(&data, (int) length * (regWinProcs->useWide ? 2 : 1));
result = (*regWinProcs->regQueryValueExProc)(key, (char *) nativeValue,
NULL, &type, (BYTE *) Tcl_DStringValue(&data), &length);