tools/nxstyle.c: Add check for multiple definitions of local variables on a line.
This commit is contained in:
parent
ee8b0a076c
commit
b5e6af60ac
2 changed files with 25 additions and 10 deletions
|
@ -148,14 +148,14 @@ int nx_vopen(FAR const char *path, int oflags, va_list ap)
|
|||
|
||||
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && \
|
||||
!defined(CONFIG_DISABLE_PSEUDOFS_OPERATIONS)
|
||||
/* If the inode is block driver, then we may return a character driver
|
||||
* proxy for the block driver. block_proxy() will instantiate a BCH
|
||||
* character driver wrapper around the block driver, open(), then
|
||||
* unlink() the character driver. On success, block_proxy() will
|
||||
* return the file descriptor of the opened character driver.
|
||||
*
|
||||
* NOTE: This will recurse to open the character driver proxy.
|
||||
*/
|
||||
/* If the inode is block driver, then we may return a character driver
|
||||
* proxy for the block driver. block_proxy() will instantiate a BCH
|
||||
* character driver wrapper around the block driver, open(), then
|
||||
* unlink() the character driver. On success, block_proxy() will
|
||||
* return the file descriptor of the opened character driver.
|
||||
*
|
||||
* NOTE: This will recurse to open the character driver proxy.
|
||||
*/
|
||||
|
||||
if (INODE_IS_BLOCK(inode) || INODE_IS_MTD(inode))
|
||||
{
|
||||
|
@ -186,7 +186,8 @@ int nx_vopen(FAR const char *path, int oflags, va_list ap)
|
|||
*/
|
||||
|
||||
#ifndef CONFIG_DISABLE_MOUNTPOINT
|
||||
if ((!INODE_IS_DRIVER(inode) && !INODE_IS_MOUNTPT(inode)) || !inode->u.i_ops)
|
||||
if ((!INODE_IS_DRIVER(inode) && !INODE_IS_MOUNTPT(inode)) ||
|
||||
!inode->u.i_ops)
|
||||
#else
|
||||
if (!INODE_IS_DRIVER(inode) || !inode->u.i_ops)
|
||||
#endif
|
||||
|
@ -272,7 +273,8 @@ int nx_vopen(FAR const char *path, int oflags, va_list ap)
|
|||
*/
|
||||
|
||||
fd = (int)OPEN_GETFD(ret);
|
||||
DEBUGASSERT((unsigned)fd < (CONFIG_NFILE_DESCRIPTORS + CONFIG_NSOCKET_DESCRIPTORS));
|
||||
DEBUGASSERT((unsigned)fd < (CONFIG_NFILE_DESCRIPTORS +
|
||||
CONFIG_NSOCKET_DESCRIPTORS));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -355,6 +355,19 @@ int main(int argc, char **argv, char **envp)
|
|||
{
|
||||
declnest = 1;
|
||||
}
|
||||
|
||||
/* Check for multiple definitions of local variables on the line.
|
||||
* NOTE: Will miss multiple global variable definitions on a line,
|
||||
* but this is because the heuristic is not smart enough to
|
||||
* distingush a global variable from a function prototype.
|
||||
*/
|
||||
|
||||
if (indent > 0 && strchr(&line[indent], ',') != NULL)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Multiple data definitions on line %d\n",
|
||||
lineno);
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for a keyword indicating the beginning of a statement.
|
||||
|
|
Loading…
Reference in a new issue