diff options
Diffstat (limited to 'cpukit/libmisc/shell/shell.c')
-rw-r--r-- | cpukit/libmisc/shell/shell.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/cpukit/libmisc/shell/shell.c b/cpukit/libmisc/shell/shell.c index d270d9d92c..b87b79f01e 100644 --- a/cpukit/libmisc/shell/shell.c +++ b/cpukit/libmisc/shell/shell.c @@ -62,16 +62,20 @@ rtems_shell_env_t *rtems_current_shell_env = &rtems_global_shell_env; * Initialize the shell user/process environment information */ rtems_shell_env_t *rtems_shell_init_env( - rtems_shell_env_t *shell_env + rtems_shell_env_t *shell_env_p ) { - if ( !shell_env ) { - shell_env = malloc(sizeof(rtems_shell_env_t)); - if ( !shell_env ) - return NULL; + rtems_shell_env_t *shell_env; + + shell_env = malloc(sizeof(rtems_shell_env_t)); + if ( !shell_env ) + return NULL; + if ( !shell_env_p ) { *shell_env = rtems_global_shell_env; - shell_env->taskname = NULL; + } else { + *shell_env = *shell_env_p; } + shell_env->taskname = NULL; return shell_env; } |