aboutsummaryrefslogtreecommitdiff
path: root/nuttx/sched/env_findvar.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/sched/env_findvar.c')
-rw-r--r--nuttx/sched/env_findvar.c33
1 files changed, 13 insertions, 20 deletions
diff --git a/nuttx/sched/env_findvar.c b/nuttx/sched/env_findvar.c
index a8e94180c..a744c6c3a 100644
--- a/nuttx/sched/env_findvar.c
+++ b/nuttx/sched/env_findvar.c
@@ -1,7 +1,7 @@
/****************************************************************************
* sched/env_findvar.c
*
- * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007, 2009, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -85,7 +85,7 @@ static bool env_cmpname(const char *pszname, const char *peqname)
* specified name.
*
* Parameters:
- * envp The environment structre to be searched.
+ * group The task group containging environment array to be searched.
* pname The variable name to find
*
* Return Value:
@@ -97,32 +97,25 @@ static bool env_cmpname(const char *pszname, const char *peqname)
*
****************************************************************************/
-FAR char *env_findvar(environ_t *envp, const char *pname)
+FAR char *env_findvar(FAR struct task_group_s *group, const char *pname)
{
- char *ret = NULL;
+ char *ptr;
+ char *end;
/* Verify input parameters */
- if (envp && pname)
- {
- char *ptr;
- char *end = &envp->ev_env[envp->ev_alloc];
-
- /* Search for a name=value string with matching name */
+ DEBUGASSERT(group && pname);
- for (ptr = envp->ev_env;
- ptr < end && !env_cmpname( pname, ptr);
- ptr += (strlen(ptr) + 1));
+ /* Search for a name=value string with matching name */
- /* Check for success */
+ end = &group->tg_envp[group->tg_envsize];
+ for (ptr = group->tg_envp;
+ ptr < end && !env_cmpname(pname, ptr);
+ ptr += (strlen(ptr) + 1));
- if (ptr < end)
- {
- ret = ptr;
- }
- }
+ /* Check for success */
- return ret;
+ return (ptr < end) ? ptr : NULL;
}
#endif /* CONFIG_DISABLE_ENVIRON */