Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
linux-user, bsd-user: Preserve incoming order of environment variable…
…s in the target

Do not reverse the order of environment variables in the target environ
array relative to the incoming environ order.  Some testsuites depend on a
specific order, even though it is not defined by any standard.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <mvmlejfsivd.fsf@suse.de>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
  • Loading branch information
andreas-schwab authored and philmd committed Jun 13, 2023
1 parent fdd0df5 commit 7f750ef
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
10 changes: 9 additions & 1 deletion bsd-user/main.c
Expand Up @@ -295,8 +295,16 @@ int main(int argc, char **argv)

envlist = envlist_create();

/* add current environment into the list */
/*
* add current environment into the list
* envlist_setenv adds to the front of the list; to preserve environ
* order add from back to front
*/
for (wrk = environ; *wrk != NULL; wrk++) {
continue;
}
while (wrk != environ) {
wrk--;
(void) envlist_setenv(envlist, *wrk);
}

Expand Down
10 changes: 9 additions & 1 deletion linux-user/main.c
Expand Up @@ -692,8 +692,16 @@ int main(int argc, char **argv, char **envp)

envlist = envlist_create();

/* add current environment into the list */
/*
* add current environment into the list
* envlist_setenv adds to the front of the list; to preserve environ
* order add from back to front
*/
for (wrk = environ; *wrk != NULL; wrk++) {
continue;
}
while (wrk != environ) {
wrk--;
(void) envlist_setenv(envlist, *wrk);
}

Expand Down

0 comments on commit 7f750ef

Please sign in to comment.