summaryrefslogtreecommitdiffstats
path: root/win/tclWinReg.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-07-08 10:57:11 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-07-08 10:57:11 (GMT)
commitadecc7a1e1a45aab0805e6cb440eb3adf09e486a (patch)
tree4fe8a274a2300c18c6843b1249e2b33e343b895f /win/tclWinReg.c
parent7747ac024f699006066d1eb7919fab3f7715d835 (diff)
parent38cfc0dc1366ca379dae1e0b46b49c953362b043 (diff)
downloadtcl-adecc7a1e1a45aab0805e6cb440eb3adf09e486a.zip
tcl-adecc7a1e1a45aab0805e6cb440eb3adf09e486a.tar.gz
tcl-adecc7a1e1a45aab0805e6cb440eb3adf09e486a.tar.bz2
merge trunk
Diffstat (limited to 'win/tclWinReg.c')
-rw-r--r--win/tclWinReg.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/win/tclWinReg.c b/win/tclWinReg.c
index c508fdf..565188c 100644
--- a/win/tclWinReg.c
+++ b/win/tclWinReg.c
@@ -889,8 +889,7 @@ GetValueNames(
resultPtr = Tcl_NewObj();
Tcl_DStringInit(&buffer);
- Tcl_DStringSetLength(&buffer,
- (int) (MAX_KEY_LENGTH*sizeof(TCHAR)));
+ Tcl_DStringSetLength(&buffer, (int) (MAX_KEY_LENGTH * sizeof(TCHAR)));
index = 0;
result = TCL_OK;
@@ -1192,8 +1191,7 @@ RecursiveDeleteKey(
}
Tcl_DStringInit(&subkey);
- Tcl_DStringSetLength(&subkey,
- (int) (MAX_KEY_LENGTH * sizeof(TCHAR)));
+ Tcl_DStringSetLength(&subkey, (int) (MAX_KEY_LENGTH * sizeof(TCHAR)));
mode = saveMode;
while (result == ERROR_SUCCESS) {
@@ -1318,16 +1316,15 @@ SetValue(
Tcl_DStringInit(&data);
for (i = 0; i < objc; i++) {
- Tcl_DStringAppend(&data, Tcl_GetString(objv[i]), -1);
+ const char *bytes = Tcl_GetStringFromObj(objv[i], &length);
+
+ Tcl_DStringAppend(&data, bytes, length);
/*
- * Add a null character to separate this value from the next. We
- * accomplish this by growing the string by one byte. Since the
- * DString always tacks on an extra null byte, the new byte will
- * already be set to null.
+ * Add a null character to separate this value from the next.
*/
- Tcl_DStringSetLength(&data, Tcl_DStringLength(&data)+1);
+ Tcl_DStringAppend(&data, "", 1); /* NUL-terminated string */
}
Tcl_WinUtfToTChar(Tcl_DStringValue(&data), Tcl_DStringLength(&data)+1,