You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/06/14 07:39:59 UTC

[incubator-nuttx] 01/02: sched/env: Fix the return value of unsetenv()

This is an automated email from the ASF dual-hosted git repository.

pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 1b32fc1642a163b6860c7b2eb9c5a8f60a3b9963
Author: Ville Juven <vi...@unikie.com>
AuthorDate: Mon Jun 13 15:00:44 2022 +0300

    sched/env: Fix the return value of unsetenv()
    
    If the environment variable does not exist, the function succeeds, as
    defined by POSIX.
---
 sched/environ/env_unsetenv.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/sched/environ/env_unsetenv.c b/sched/environ/env_unsetenv.c
index 6d227d0d37..be491474c4 100644
--- a/sched/environ/env_unsetenv.c
+++ b/sched/environ/env_unsetenv.c
@@ -61,23 +61,22 @@ int unsetenv(FAR const char *name)
 {
   FAR struct tcb_s *rtcb = this_task();
   FAR struct task_group_s *group = rtcb->group;
-  int ret = OK;
+  int idx;
 
   DEBUGASSERT(name && group);
 
   /* Check if the variable exists */
 
   sched_lock();
-  if (group && (ret = env_findvar(group, name)) >= 0)
+  if (group && (idx = env_findvar(group, name)) >= 0)
     {
       /* It does!  Remove the name=value pair from the environment. */
 
-      env_removevar(group, ret);
-      ret = OK;
+      env_removevar(group, idx);
     }
 
   sched_unlock();
-  return ret;
+  return OK;
 }
 
 #endif /* CONFIG_DISABLE_ENVIRON */