diff options
author | sebres <sebres@users.sourceforge.net> | 2019-05-21 11:34:13 (GMT) |
---|---|---|
committer | sebres <sebres@users.sourceforge.net> | 2019-05-21 11:34:13 (GMT) |
commit | e2f5de73e3cbbf4fd7b73672cb2abb469fa1c4c2 (patch) | |
tree | f2c327d0b140daaca86714c4dcfd4bbfd5d667ef /generic | |
parent | 1f5c7c693b88225d758e750677764203458dd26a (diff) | |
parent | 57c23073f76044f428a0768143d020ba62ffbfbc (diff) | |
download | tcl-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.c | 5 | ||||
-rw-r--r-- | generic/tclTest.c | 2 |
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: |