FAR char *env_findvar(environ_t *envp, const char *pname) { char *ret = NULL; /* 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 */ for (ptr = envp->ev_env; ptr < end && !env_cmpname( pname, ptr); ptr += (strlen(ptr) + 1)); /* Check for success */ if (ptr < end) { ret = ptr; } } return ret; }
FAR char *env_findvar(FAR struct task_group_s *group, const char *pname) { char *ptr; char *end; /* Verify input parameters */ DEBUGASSERT(group && pname); /* Search for a name=value string with matching name */ end = &group->tg_envp[group->tg_envsize]; for (ptr = group->tg_envp; ptr < end && !env_cmpname(pname, ptr); ptr += (strlen(ptr) + 1)); /* Check for success */ return (ptr < end) ? ptr : NULL; }