nshlib: Tighten up some conditional logic
This commit is contained in:
parent
40d9701ea0
commit
62f7838c5e
29
nshlib/nsh.h
29
nshlib/nsh.h
@ -641,6 +641,30 @@
|
||||
# undef NSH_HAVE_CPULOAD
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIG_FS_PROCFS) || (defined(CONFIG_FS_PROCFS_EXCLUDE_BLOCKS) && \
|
||||
defined(CONFIG_FS_PROCFS_EXCLUDE_USAGE))
|
||||
# undef CONFIG_NSH_DISABLE_DF /* 'df' depends on fs procfs */
|
||||
# define CONFIG_NSH_DISABLE_DF 1
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FS_PROCFS) || !defined(CONFIG_NSH_DISABLE_DF)
|
||||
# define HAVE_DF_HUMANREADBLE 1
|
||||
# define HAVE_DF_BLOCKOUTPUT 1
|
||||
# if defined(CONFIG_FS_PROCFS_EXCLUDE_USAGE)
|
||||
# undefine HAVE_DF_HUMANREADBLE
|
||||
# endif
|
||||
# if defined(CONFIG_FS_PROCFS_EXCLUDE_BLOCKS)
|
||||
# undefine HAVE_DF_BLOCKOUTPUT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FS_PROCFS) || !defined(CONFIG_NSH_DISABLE_MOUNT)
|
||||
# define HAVE_MOUNT_LIST 1
|
||||
# if defined(CONFIG_FS_PROCFS_EXCLUDE_MOUNT)
|
||||
# undefine HAVE_MOUNT_LIST
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Suppress unused file utilities */
|
||||
|
||||
#define NSH_HAVE_CATFILE 1
|
||||
@ -656,10 +680,11 @@
|
||||
# undef NSH_HAVE_TRIMDIR
|
||||
#endif
|
||||
|
||||
/* nsh_catfile used by cat, ifconfig, ifup/down */
|
||||
/* nsh_catfile used by cat, ifconfig, ifup/down, df, and mount */
|
||||
|
||||
#if defined(CONFIG_NSH_DISABLE_CAT) && defined(CONFIG_NSH_DISABLE_IFCONFIG) && \
|
||||
defined(CONFIG_NSH_DISABLE_IFUPDOWN)
|
||||
defined(CONFIG_NSH_DISABLE_IFUPDOWN) && defined(CONFIG_NSH_DISABLE_DF) && \
|
||||
(defined(CONFIG_NSH_DISABLE_MOUNT) || !defined(HAVE_MOUNT_LIST))
|
||||
# undef NSH_HAVE_CATFILE
|
||||
#endif
|
||||
|
||||
|
@ -171,7 +171,11 @@ static const struct cmdmap_s g_cmdmap[] =
|
||||
#if CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT) && \
|
||||
defined(CONFIG_FS_READABLE) && !defined(CONFIG_NSH_DISABLE_DF)
|
||||
#ifdef NSH_HAVE_CATFILE
|
||||
#if defined(HAVE_DF_HUMANREADBLE) && defined(HAVE_DF_BLOCKOUTPUT)
|
||||
{ "df", cmd_df, 1, 2, "[-h]" },
|
||||
#else
|
||||
{ "df", cmd_df, 1, 1, NULL },
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -339,8 +343,10 @@ static const struct cmdmap_s g_cmdmap[] =
|
||||
|
||||
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_FS_READABLE)
|
||||
#ifndef CONFIG_NSH_DISABLE_MOUNT
|
||||
#ifdef NSH_HAVE_CATFILE
|
||||
#if defined(NSH_HAVE_CATFILE) && defined(HAVE_MOUNT_LIST)
|
||||
{ "mount", cmd_mount, 1, 7, "[-t <fstype> [-o <options>] [<block-device>] <mount-point>]" },
|
||||
#else
|
||||
{ "mount", cmd_mount, 4, 7, "-t <fstype> [-o <options>] [<block-device>] <mount-point>" },
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
@ -71,24 +71,24 @@
|
||||
#ifdef NSH_HAVE_CATFILE
|
||||
int cmd_df(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
||||
{
|
||||
#if defined(HAVE_DF_HUMANREADBLE) && defined(HAVE_DF_BLOCKOUTPUT)
|
||||
if (argc > 1 && strcmp(argv[1], "-h") == 0)
|
||||
#endif
|
||||
#ifdef HAVE_DF_HUMANREADBLE
|
||||
{
|
||||
#ifndef CONFIG_FS_PROCFS_EXCLUDE_BLOCKS
|
||||
return nsh_catfile(vtbl, argv[0],
|
||||
CONFIG_NSH_PROC_MOUNTPOINT "/fs/usage");
|
||||
#else
|
||||
return ERROR; /* REVISIT, some feedback would be good */
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#if defined(HAVE_DF_HUMANREADBLE) && defined(HAVE_DF_BLOCKOUTPUT)
|
||||
else
|
||||
#endif
|
||||
#ifdef HAVE_DF_BLOCKOUTPUT
|
||||
{
|
||||
#ifndef CONFIG_FS_PROCFS_EXCLUDE_USAGE
|
||||
return nsh_catfile(vtbl, argv[0],
|
||||
CONFIG_NSH_PROC_MOUNTPOINT "/fs/blocks");
|
||||
#else
|
||||
return ERROR; /* REVISIT, some feedback would be good */
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@ -113,7 +113,7 @@ int cmd_mount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
||||
|
||||
/* The mount command behaves differently if no parameters are provided. */
|
||||
|
||||
#if defined(NSH_HAVE_CATFILE) && !defined(CONFIG_FS_PROCFS_EXCLUDE_MOUNT)
|
||||
#if defined(NSH_HAVE_CATFILE) && defined(HAVE_MOUNT_LIST)
|
||||
if (argc < 2)
|
||||
{
|
||||
return nsh_catfile(vtbl, argv[0],
|
||||
|
Loading…
x
Reference in New Issue
Block a user