dict_get(): Fixed a couple of stupid mistakes which caused crashes.
Also got rid of some unnecessary code.
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index e5a4610..e47e6b3 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -958,19 +958,13 @@
PyObject *args;
{
PyObject *key;
- PyObject *failobj = NULL;
+ PyObject *failobj = Py_None;
PyObject *val = NULL;
long hash;
- if (mp->ma_table == NULL)
- goto finally;
-
if (!PyArg_ParseTuple(args, "O|O", &key, &failobj))
return NULL;
- if (failobj == NULL)
- failobj = Py_None;
-
#ifdef CACHE_HASH
if (!PyString_Check(key) ||
(hash = ((PyStringObject *) key)->ob_shash) == -1)
@@ -981,7 +975,7 @@
return NULL;
}
val = lookdict(mp, key, hash)->me_value;
- finally:
+
if (val == NULL)
val = failobj;
Py_INCREF(val);