Shenzhou board is first to use ONLY Kconfig for configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5114 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
3f958a3e8c
commit
5d59ee57b5
@ -310,3 +310,7 @@
|
|||||||
files into memory before transferring them.
|
files into memory before transferring them.
|
||||||
* apps/netutils/webserver: Add ability to map a URL to CGI function.
|
* apps/netutils/webserver: Add ability to map a URL to CGI function.
|
||||||
Contributed by Kate.
|
Contributed by Kate.
|
||||||
|
* apps/nshlib/nsh_mntcmds.c: The changes of 6.21 introduced holes in the
|
||||||
|
error handling: Now the number of arguments to mount can be 0 or 4.
|
||||||
|
Additional parameter checking is required to prevent mysterious errors
|
||||||
|
(submiteed by Kate).
|
||||||
|
@ -195,9 +195,9 @@ int cmd_df(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
defined(CONFIG_FS_READABLE) && !defined(CONFIG_NSH_DISABLE_MOUNT)
|
defined(CONFIG_FS_READABLE) && !defined(CONFIG_NSH_DISABLE_MOUNT)
|
||||||
int cmd_mount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
int cmd_mount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
||||||
{
|
{
|
||||||
char *source;
|
FAR char *source;
|
||||||
char *target;
|
FAR char *target;
|
||||||
char *filesystem = 0;
|
FAR char *filesystem = NULL;
|
||||||
bool badarg = false;
|
bool badarg = false;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -208,7 +208,11 @@ int cmd_mount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
return mount_show(vtbl, argv[0]);
|
return mount_show(vtbl, argv[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the mount options */
|
/* Get the mount options. NOTE: getopt() is not thread safe nor re-entrant.
|
||||||
|
* To keep its state proper for the next usage, it is necessary to parse to
|
||||||
|
* the end of the line even if an error occurs. If an error occurs, this
|
||||||
|
* logic just sets 'badarg' and continues.
|
||||||
|
*/
|
||||||
|
|
||||||
int option;
|
int option;
|
||||||
while ((option = getopt(argc, argv, ":t:")) != ERROR)
|
while ((option = getopt(argc, argv, ":t:")) != ERROR)
|
||||||
@ -232,14 +236,18 @@ int cmd_mount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If a bad argument was encountered, then return without processing the command */
|
/* If a bad argument was encountered, then return without processing the
|
||||||
|
* command.
|
||||||
|
*/
|
||||||
|
|
||||||
if (badarg)
|
if (badarg)
|
||||||
{
|
{
|
||||||
return ERROR;
|
return ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There are two required arguments after the options */
|
/* There are two required arguments after the options: the source and target
|
||||||
|
* paths.
|
||||||
|
*/
|
||||||
|
|
||||||
if (optind + 2 < argc)
|
if (optind + 2 < argc)
|
||||||
{
|
{
|
||||||
@ -252,6 +260,16 @@ int cmd_mount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
return ERROR;
|
return ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* While the above parsing for the -t argument looks nice, the -t argument
|
||||||
|
* not really optional.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!filesystem)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, g_fmtargrequired, argv[0]);
|
||||||
|
return ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
/* The source and target paths might be relative to the current
|
/* The source and target paths might be relative to the current
|
||||||
* working directory.
|
* working directory.
|
||||||
*/
|
*/
|
||||||
|
@ -19,21 +19,4 @@ config READLINE_ECHO
|
|||||||
already has local echo support or you need to suppress the back-channel
|
already has local echo support or you need to suppress the back-channel
|
||||||
responses for any other reason.
|
responses for any other reason.
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Newline Options"
|
|
||||||
default EOL_IS_EITHER_CRLF
|
|
||||||
|
|
||||||
config EOL_IS_CR
|
|
||||||
bool "EOL is CR"
|
|
||||||
|
|
||||||
config EOL_IS_LF
|
|
||||||
bool "EOL is LF"
|
|
||||||
|
|
||||||
config EOL_IS_BOTH_CRLF
|
|
||||||
bool "EOL is CR and LF"
|
|
||||||
|
|
||||||
config EOL_IS_EITHER_CRLF
|
|
||||||
bool "EOL is CR or LF"
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
endif
|
endif
|
||||||
|
@ -63,13 +63,32 @@
|
|||||||
#define CONFIG_READLINE_ECHO 1
|
#define CONFIG_READLINE_ECHO 1
|
||||||
|
|
||||||
/* Some environments may return CR as end-of-line, others LF, and others
|
/* Some environments may return CR as end-of-line, others LF, and others
|
||||||
* both. The logic here assumes either but not both.
|
* both. If not specified, the logic here assumes either (but not both) as
|
||||||
|
* the default.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#undef CONFIG_EOL_IS_CR
|
#if defined(CONFIG_EOL_IS_CR)
|
||||||
#undef CONFIG_EOL_IS_LF
|
# undef CONFIG_EOL_IS_LF
|
||||||
#undef CONFIG_EOL_IS_BOTH_CRLF
|
# undef CONFIG_EOL_IS_BOTH_CRLF
|
||||||
#define CONFIG_EOL_IS_EITHER_CRLF 1
|
# undef CONFIG_EOL_IS_EITHER_CRLF
|
||||||
|
#elif defined(CONFIG_EOL_IS_LF)
|
||||||
|
# undef CONFIG_EOL_IS_CR
|
||||||
|
# undef CONFIG_EOL_IS_BOTH_CRLF
|
||||||
|
# undef CONFIG_EOL_IS_EITHER_CRLF
|
||||||
|
#elif defined(CONFIG_EOL_IS_BOTH_CRLF)
|
||||||
|
# undef CONFIG_EOL_IS_CR
|
||||||
|
# undef CONFIG_EOL_IS_LF
|
||||||
|
# undef CONFIG_EOL_IS_EITHER_CRLF
|
||||||
|
#elif defined(CONFIG_EOL_IS_EITHER_CRLF)
|
||||||
|
# undef CONFIG_EOL_IS_CR
|
||||||
|
# undef CONFIG_EOL_IS_LF
|
||||||
|
# undef CONFIG_EOL_IS_BOTH_CRLF
|
||||||
|
#else
|
||||||
|
# undef CONFIG_EOL_IS_CR
|
||||||
|
# undef CONFIG_EOL_IS_LF
|
||||||
|
# undef CONFIG_EOL_IS_BOTH_CRLF
|
||||||
|
# define CONFIG_EOL_IS_EITHER_CRLF 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Type Declarations
|
* Private Type Declarations
|
||||||
|
Loading…
x
Reference in New Issue
Block a user