tools/nxstyle.c: Add check for multiple definitions of local variables on a line.

This commit is contained in:
Gregory Nutt
2019-02-14 18:33:23 -06:00
parent ee8b0a076c
commit b5e6af60ac
2 changed files with 25 additions and 10 deletions
+4 -2
View File
@@ -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
+13
View File
@@ -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.