Issue 28149: Incorrect indentation under “else” in _bsddb.c (original) (raw)

Compiling Python 2.7 gives:

/home/proj/python/cpython/Modules/_bsddb.c: In function ‘newDBObject’: /home/proj/python/cpython/Modules/_bsddb.c:936:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation] else ^~~~ /home/proj/python/cpython/Modules/_bsddb.c:938:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’ self->moduleFlags.cursorSetReturnsNone = DEFAULT_CURSOR_SET_RETURNS_NONE; ^~~~

The code in question was changed a long time ago in revision defa1d825b08:

 if (self->myenvobj)

It looks like the solution is to group both statements with braces, but I don’t know this module, so I can’t be sure, and I don’t know how to test it.