mirror of
https://github.com/apache/nuttx-apps.git
synced 2025-10-21 14:42:20 +08:00
nsh: sh_main also support isctty = true
Signed-off-by: ligd <liguiding1@xiaomi.com>
This commit is contained in:
@@ -32,6 +32,27 @@
|
||||
#include "nsh.h"
|
||||
#include "nsh_console.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Static Functions
|
||||
****************************************************************************/
|
||||
|
||||
static int nsh_system_(int argc, FAR char *argv[], int isctty)
|
||||
{
|
||||
FAR struct console_stdio_s *pstate = nsh_newconsole(isctty);
|
||||
int ret;
|
||||
|
||||
DEBUGASSERT(pstate != NULL);
|
||||
|
||||
/* Execute the session */
|
||||
|
||||
ret = nsh_session(pstate, false, argc, argv);
|
||||
|
||||
/* Exit upon return */
|
||||
|
||||
nsh_exit(&pstate->cn_vtbl, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
@@ -57,17 +78,29 @@
|
||||
|
||||
int nsh_system(int argc, FAR char *argv[])
|
||||
{
|
||||
FAR struct console_stdio_s *pstate = nsh_newconsole(false);
|
||||
int ret;
|
||||
|
||||
DEBUGASSERT(pstate != NULL);
|
||||
|
||||
/* Execute the session */
|
||||
|
||||
ret = nsh_session(pstate, false, argc, argv);
|
||||
|
||||
/* Exit upon return */
|
||||
|
||||
nsh_exit(&pstate->cn_vtbl, ret);
|
||||
return ret;
|
||||
return nsh_system_(argc, argv, false);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: nsh_system_ctty
|
||||
*
|
||||
* Description:
|
||||
* This is the NSH-specific implementation of the standard system()
|
||||
* command.
|
||||
*
|
||||
* NOTE:
|
||||
* This difference with nsh_system: newconsole set isctty true
|
||||
*
|
||||
* Input Parameters:
|
||||
* Standard task start-up arguments. Expects argc == 2 with argv[1] being
|
||||
* the command to execute
|
||||
*
|
||||
* Returned Values:
|
||||
* EXIT_SUCCESS or EXIT_FAILURE
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int nsh_system_ctty(int argc, FAR char *argv[])
|
||||
{
|
||||
return nsh_system_(argc, argv, true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user