summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2019-05-21 11:34:13 (GMT)
committersebres <sebres@users.sourceforge.net>2019-05-21 11:34:13 (GMT)
commite2f5de73e3cbbf4fd7b73672cb2abb469fa1c4c2 (patch)
treef2c327d0b140daaca86714c4dcfd4bbfd5d667ef /generic
parent1f5c7c693b88225d758e750677764203458dd26a (diff)
parent57c23073f76044f428a0768143d020ba62ffbfbc (diff)
downloadtcl-e2f5de73e3cbbf4fd7b73672cb2abb469fa1c4c2.zip
tcl-e2f5de73e3cbbf4fd7b73672cb2abb469fa1c4c2.tar.gz
tcl-e2f5de73e3cbbf4fd7b73672cb2abb469fa1c4c2.tar.bz2
fixed mistake in optimization of [3f693cdfe9c875c4] (bypass of compareKeysProc if keys pointers/objects are equal) - it should compare given key with entry key (not with a hash entry)
Diffstat (limited to 'generic')
-rw-r--r--generic/tclHash.c5
-rw-r--r--generic/tclTest.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/generic/tclHash.c b/generic/tclHash.c
index 7e8961d..f61a08d 100644
--- a/generic/tclHash.c
+++ b/generic/tclHash.c
@@ -326,7 +326,10 @@ CreateHashEntry(
continue;
}
#endif
- if (((void *) key == hPtr) || compareKeysProc((void *) key, hPtr)) {
+ /* if keys pointers or values are equal */
+ if ((key == hPtr->key.oneWordValue)
+ || compareKeysProc((VOID *) key, hPtr)
+ ) {
if (newPtr) {
*newPtr = 0;
}
diff --git a/generic/tclTest.c b/generic/tclTest.c
index b16957d..1e2a6da 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -4349,7 +4349,7 @@ TesttranslatefilenameCmd(
*
* TestupvarCmd --
*
- * This procedure implements the "testupvar2" command. It is used
+ * This procedure implements the "testupvar" command. It is used
* to test Tcl_UpVar and Tcl_UpVar2.
*
* Results: