diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2012-07-08 10:57:11 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2012-07-08 10:57:11 (GMT) |
commit | adecc7a1e1a45aab0805e6cb440eb3adf09e486a (patch) | |
tree | 4fe8a274a2300c18c6843b1249e2b33e343b895f /win/tclWinReg.c | |
parent | 7747ac024f699006066d1eb7919fab3f7715d835 (diff) | |
parent | 38cfc0dc1366ca379dae1e0b46b49c953362b043 (diff) | |
download | tcl-adecc7a1e1a45aab0805e6cb440eb3adf09e486a.zip tcl-adecc7a1e1a45aab0805e6cb440eb3adf09e486a.tar.gz tcl-adecc7a1e1a45aab0805e6cb440eb3adf09e486a.tar.bz2 |
merge trunk
Diffstat (limited to 'win/tclWinReg.c')
-rw-r--r-- | win/tclWinReg.c | 17 |
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, |