static PyObject *
OrderedDict_setdefault_impl(PyODictObject *self, PyObject *key,
- PyObject *failobj);
+ PyObject *default_value);
static PyObject *
OrderedDict_setdefault(PyODictObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
static const char * const _keywords[] = {"key", "default", NULL};
static _PyArg_Parser _parser = {"O|O:setdefault", _keywords, 0};
PyObject *key;
- PyObject *failobj = Py_None;
+ PyObject *default_value = Py_None;
if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser,
- &key, &failobj)) {
+ &key, &default_value)) {
goto exit;
}
- return_value = OrderedDict_setdefault_impl(self, key, failobj);
+ return_value = OrderedDict_setdefault_impl(self, key, default_value);
exit:
return return_value;
exit:
return return_value;
}
-/*[clinic end generated code: output=f2641e1277045b59 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=84ef19e7b5db0086 input=a9049054013a1b77]*/
OrderedDict.setdefault
key: object
- default as failobj: object = None
+ default: object = None
od.get(k,d), also set od[k]=d if k not in od.
[clinic start generated code]*/
static PyObject *
OrderedDict_setdefault_impl(PyODictObject *self, PyObject *key,
- PyObject *failobj)
-/*[clinic end generated code: output=605d0f6f61ccb0a6 input=4ee5006f32f5691b]*/
+ PyObject *default_value)
+/*[clinic end generated code: output=97537cb7c28464b6 input=d5e940fcea7a5a67]*/
{
PyObject *result = NULL;
if (PyErr_Occurred())
return NULL;
assert(_odict_find_node(self, key) == NULL);
- if (PyODict_SetItem((PyObject *)self, key, failobj) >= 0) {
- result = failobj;
- Py_INCREF(failobj);
+ if (PyODict_SetItem((PyObject *)self, key, default_value) >= 0) {
+ result = default_value;
+ Py_INCREF(result);
}
}
else {
else if (exists) {
result = PyObject_GetItem((PyObject *)self, key);
}
- else if (PyObject_SetItem((PyObject *)self, key, failobj) >= 0) {
- result = failobj;
- Py_INCREF(failobj);
+ else if (PyObject_SetItem((PyObject *)self, key, default_value) >= 0) {
+ result = default_value;
+ Py_INCREF(result);
}
}