Skip to content

Commit 4a69834

Browse files
committed
bpo-1635741: Apply Victor's review
1 parent 7ec3d5c commit 4a69834

File tree

1 file changed

+23
-31
lines changed

1 file changed

+23
-31
lines changed

Modules/_dbmmodule.c

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,6 @@ dbm_length(dbmobject *dp)
9898
PyTypeObject *tp = Py_TYPE(dp);
9999
_dbm_state *state = PyType_GetModuleState(tp);
100100
assert(state != NULL);
101-
if (state == NULL) {
102-
return -1;
103-
}
104101
if (dp->di_dbm == NULL) {
105102
PyErr_SetString(state->dbm_error, "DBM object has already been closed");
106103
return -1;
@@ -125,11 +122,10 @@ dbm_subscript(dbmobject *dp, PyObject *key)
125122
Py_ssize_t tmp_size;
126123
PyTypeObject *tp = Py_TYPE(dp);
127124
_dbm_state *state = PyType_GetModuleState(tp);
128-
if (state == NULL) {
125+
assert(state != NULL);
126+
if (!PyArg_Parse(key, "s#", &krec.dptr, &tmp_size)) {
129127
return NULL;
130128
}
131-
if (!PyArg_Parse(key, "s#", &krec.dptr, &tmp_size) )
132-
return NULL;
133129

134130
krec.dsize = tmp_size;
135131
check_dbmobject_open(dp, state->dbm_error);
@@ -159,9 +155,7 @@ dbm_ass_sub(dbmobject *dp, PyObject *v, PyObject *w)
159155
}
160156
PyTypeObject *tp = Py_TYPE(dp);
161157
_dbm_state *state = PyType_GetModuleState(tp);
162-
if (state == NULL) {
163-
return -1;
164-
}
158+
assert(state != NULL);
165159
krec.dsize = tmp_size;
166160
if (dp->di_dbm == NULL) {
167161
PyErr_SetString(state->dbm_error, "DBM object has already been closed");
@@ -237,9 +231,7 @@ _dbm_dbm_keys_impl(dbmobject *self, PyTypeObject *cls)
237231
int err;
238232

239233
_dbm_state *state = PyType_GetModuleState(cls);
240-
if (state == NULL) {
241-
return NULL;
242-
}
234+
assert(state != NULL);
243235
check_dbmobject_open(self, state->dbm_error);
244236
v = PyList_New(0);
245237
if (v == NULL) {
@@ -271,9 +263,7 @@ dbm_contains(PyObject *self, PyObject *arg)
271263

272264
PyTypeObject *tp = Py_TYPE(dp);
273265
_dbm_state *state = PyType_GetModuleState(tp);
274-
if (state == NULL) {
275-
return -1;
276-
}
266+
assert(state != NULL);
277267
if ((dp)->di_dbm == NULL) {
278268
PyErr_SetString(state->dbm_error,
279269
"DBM object has already been closed");
@@ -316,15 +306,14 @@ _dbm_dbm_get_impl(dbmobject *self, PyTypeObject *cls, const char *key,
316306
{
317307
datum dbm_key, val;
318308
_dbm_state *state = PyType_GetModuleState(cls);
319-
if (state == NULL) {
320-
return NULL;
321-
}
309+
assert(state != NULL);
322310
dbm_key.dptr = (char *)key;
323311
dbm_key.dsize = key_length;
324312
check_dbmobject_open(self, state->dbm_error);
325313
val = dbm_fetch(self->di_dbm, dbm_key);
326-
if (val.dptr != NULL)
314+
if (val.dptr != NULL) {
327315
return PyBytes_FromStringAndSize(val.dptr, val.dsize);
316+
}
328317

329318
Py_INCREF(default_value);
330319
return default_value;
@@ -351,15 +340,14 @@ _dbm_dbm_setdefault_impl(dbmobject *self, PyTypeObject *cls, const char *key,
351340
datum dbm_key, val;
352341
Py_ssize_t tmp_size;
353342
_dbm_state *state = PyType_GetModuleState(cls);
354-
if (state == NULL) {
355-
return NULL;
356-
}
343+
assert(state != NULL);
357344
dbm_key.dptr = (char *)key;
358345
dbm_key.dsize = key_length;
359346
check_dbmobject_open(self, state->dbm_error);
360347
val = dbm_fetch(self->di_dbm, dbm_key);
361-
if (val.dptr != NULL)
348+
if (val.dptr != NULL) {
362349
return PyBytes_FromStringAndSize(val.dptr, val.dsize);
350+
}
363351
if (default_value == NULL) {
364352
default_value = PyBytes_FromStringAndSize(NULL, 0);
365353
if (default_value == NULL) {
@@ -461,19 +449,23 @@ dbmopen_impl(PyObject *module, PyObject *filename, const char *flags,
461449
{
462450
int iflags;
463451
_dbm_state *state = get_dbm_state(module);
464-
if (state == NULL) {
465-
return NULL;
466-
}
467-
if ( strcmp(flags, "r") == 0 )
452+
assert(state != NULL);
453+
if (strcmp(flags, "r") == 0) {
468454
iflags = O_RDONLY;
469-
else if ( strcmp(flags, "w") == 0 )
455+
}
456+
else if (strcmp(flags, "w") == 0) {
470457
iflags = O_RDWR;
471-
else if ( strcmp(flags, "rw") == 0 ) /* B/W compat */
458+
}
459+
else if (strcmp(flags, "rw") == 0) {
460+
/* B/W compat */
472461
iflags = O_RDWR|O_CREAT;
473-
else if ( strcmp(flags, "c") == 0 )
462+
}
463+
else if (strcmp(flags, "c") == 0) {
474464
iflags = O_RDWR|O_CREAT;
475-
else if ( strcmp(flags, "n") == 0 )
465+
}
466+
else if (strcmp(flags, "n") == 0) {
476467
iflags = O_RDWR|O_CREAT|O_TRUNC;
468+
}
477469
else {
478470
PyErr_SetString(state->dbm_error,
479471
"arg 2 to open should be 'r', 'w', 'c', or 'n'");

0 commit comments

Comments
 (0)