Skip to content

Commit efd9cac

Browse files
committed
Use literal format string for PyErr_Format
1 parent 594daca commit efd9cac

1 file changed

Lines changed: 7 additions & 9 deletions

File tree

Modules/_gdbmmodule.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -237,13 +237,13 @@ gdbm_bool(PyObject *op)
237237
// This function is needed to support PY_SSIZE_T_CLEAN.
238238
// Return 1 on success, same to PyArg_Parse().
239239
static int
240-
parse_datum(PyObject *o, datum *d, const char *failmsg)
240+
parse_datum(PyObject *o, datum *d, const char *items_name)
241241
{
242242
Py_ssize_t size;
243243
if (!PyArg_Parse(o, "s#", &d->dptr, &size)) {
244-
if (failmsg != NULL) {
245-
PyErr_Format(PyExc_TypeError, failmsg, o);
246-
}
244+
PyErr_Format(PyExc_TypeError,
245+
"database %s must be bytes or str, not %T",
246+
items_name, o);
247247
return 0;
248248
}
249249
if (INT_MAX < size) {
@@ -262,7 +262,7 @@ gdbm_subscript_lock_held(PyObject *op, PyObject *key)
262262
gdbmobject *dp = _gdbmobject_CAST(op);
263263
_gdbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
264264

265-
if (!parse_datum(key, &krec, NULL)) {
265+
if (!parse_datum(key, &krec, "keys")) {
266266
return NULL;
267267
}
268268
if (dp->di_dbm == NULL) {
@@ -318,12 +318,10 @@ static int
318318
gdbm_ass_sub_lock_held(PyObject *op, PyObject *v, PyObject *w)
319319
{
320320
datum krec, drec;
321-
const char *key_failmsg = "database keys must be bytes or str, not %T";
322-
const char *value_failmsg = "database values must be bytes or str, not %T";
323321
gdbmobject *dp = _gdbmobject_CAST(op);
324322
_gdbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
325323

326-
if (!parse_datum(v, &krec, key_failmsg)) {
324+
if (!parse_datum(v, &krec, "keys")) {
327325
return -1;
328326
}
329327
if (dp->di_dbm == NULL) {
@@ -344,7 +342,7 @@ gdbm_ass_sub_lock_held(PyObject *op, PyObject *v, PyObject *w)
344342
}
345343
}
346344
else {
347-
if (!parse_datum(w, &drec, value_failmsg)) {
345+
if (!parse_datum(w, &drec, "values")) {
348346
return -1;
349347
}
350348
errno = 0;

0 commit comments

Comments
 (0)