char *thiskw = kwlist[i];
if (thiskw == NULL)
break;
- if (PyMapping_HasKeyString(keywords, thiskw)) {
+ if (PyDict_GetItemString(keywords, thiskw)) {
PyErr_Format(PyExc_TypeError,
"keyword parameter '%s' was given "
"by position and by name",
len = nargs;
if (keywords && nargs < min) {
for (i = nargs; i < min; i++) {
- if (PyMapping_HasKeyString(keywords, kwlist[i])) {
+ if (PyDict_GetItemString(keywords, kwlist[i]))
len++;
- }
}
}
PyErr_Clear();
PyObject *item;
if (*format == '|')
format++;
- item = PyMapping_GetItemString(keywords, kwlist[i]);
+ item = PyDict_GetItemString(keywords, kwlist[i]);
if (item != NULL) {
+ Py_INCREF(item);
msg = convertitem(item, &format, p_va, levels, msgbuf);
+ Py_DECREF(item);
if (msg) {
seterror(i+1, msg, levels, fname, message);
return 0;
}
converted++;
- Py_DECREF(item);
}
else {
PyErr_Clear();