From 64e423a49c86bd3401d3816a6f7ffb3f1c9ff7b6 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Wed, 22 Aug 2018 09:54:37 -0600 Subject: [PATCH] apps/builtin/exec_builtin.c: Fix a error introduced by recent comments. Found in build testing. --- builtin/exec_builtin.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/builtin/exec_builtin.c b/builtin/exec_builtin.c index df35e58eb..05ccce779 100644 --- a/builtin/exec_builtin.c +++ b/builtin/exec_builtin.c @@ -181,20 +181,26 @@ int exec_builtin(FAR const char *appname, FAR char * const *argv, } } - /* Start the built-in */ +#idef CONFIG_LIBC_EXECFUNCS + /* A NULL entry point implies that the task is a loadable application */ - if (builtin->main) - { - ret = task_spawn(&pid, builtin->name, builtin->main, &file_actions, - &attr, (argv) ? &argv[1] : (FAR char * const *)NULL, - (FAR char * const *)NULL); - } - else + if (builtin->main == NULL) { + /* Load and execute the application. */ + ret = posix_spawn(&pid, builtin->name, &file_actions, &attr, (argv) ? &argv[1] : (FAR char * const *)NULL, NULL); } + else +#endif + { + /* Start the built-in */ + + ret = task_spawn(&pid, builtin->name, builtin->main, &file_actions, + &attr, (argv) ? &argv[1] : (FAR char * const *)NULL, + (FAR char * const *)NULL); + } if (ret != 0) {