entry = &table[i];
if (entry->key == NULL || entry->key == key)
return entry;
- if (entry->hash == hash) {
+ if (entry->hash == hash && entry->key != dummy) {
startkey = entry->key;
Py_INCREF(startkey);
cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);
}
if (entry->key == key)
break;
- if (entry->hash == hash) {
+ if (entry->hash == hash && entry->key != dummy) {
startkey = entry->key;
Py_INCREF(startkey);
cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);
}
if (entry->key == key)
break;
- if (entry->hash == hash) {
+ if (entry->hash == hash && entry->key != dummy) {
startkey = entry->key;
Py_INCREF(startkey);
cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);
PySetObject *so = NULL;
if (dummy == NULL) { /* Auto-initialize dummy */
- dummy = _PyObject_New(&PyBaseObject_Type);
+ dummy = PyUnicode_FromString("<dummy key>");
if (dummy == NULL)
return NULL;
}