[issue28149] Incorrect indentation under “else” in _bsddb.c
Martin Panter
report at bugs.python.org
Wed Sep 14 08:36:47 EDT 2016
New submission from Martin Panter:
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)
- self->getReturnsNone = self->myenvobj->getReturnsNone;
+ self->moduleFlags = self->myenvobj->moduleFlags;
else
- self->getReturnsNone = GET_RETURNS_NONE_DEFAULT;
+ self->moduleFlags.getReturnsNone = DEFAULT_GET_RETURNS_NONE;
+ self->moduleFlags.cursorSetReturnsNone = DEFAULT_CURSOR_SET_RETURNS_NONE;
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.
----------
components: Extension Modules
messages: 276422
nosy: gregory.p.smith, martin.panter
priority: normal
severity: normal
stage: test needed
status: open
title: Incorrect indentation under “else” in _bsddb.c
type: compile error
versions: Python 2.7
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28149>
_______________________________________
More information about the Python-bugs-list
mailing list