@@ -559,11 +559,13 @@ set indexes $indexesAtHash($hash) } else { set indexes [list] } - lappend indexes $invalidValue + if {[llength $indexes] != $maxIndexes} { + lappend indexes $invalidValue + } lappend outputHeader "${config(prefix)}static const long ${outCVarName}_hashTable_${hash}\[\] = \{" lappend outputHeader "${config(prefix)}\t[join $indexes {, }]" lappend outputHeader "${config(prefix)}\};" } @@ -573,11 +575,11 @@ lappend outputHeader "${config(prefix)}\t${outCVarName}_hashTable_${hash}," } lappend outputHeader "${config(prefix)}\};" lappend outputBody "${config(prefix)}${outCVarName}_hash = Tcl_ZlibAdler32(0, (unsigned char *) ${cVarName}, ${cVarLength}) % ${config(hashTableSize)};" - lappend outputBody "${config(prefix)}for (${outCVarName}_idx = 0; ${outCVarName}_idx <= ${maxIndexes}; ${outCVarName}_idx++) \{" + lappend outputBody "${config(prefix)}for (${outCVarName}_idx = 0; ${outCVarName}_idx < ${maxIndexes}; ${outCVarName}_idx++) \{" lappend outputBody "${config(prefix)}\t${outCVarName} = ${outCVarName}_hashTable\[${outCVarName}_hash\]\[${outCVarName}_idx\];" lappend outputBody "${config(prefix)}\tif (${outCVarName} == $invalidValue) \{" lappend outputBody "${config(prefix)}\t\tbreak;" lappend outputBody "${config(prefix)}\t\}" lappend outputBody ""