From: Kostik Belousov Date: Sat, 1 Dec 2007 12:03:42 +0000 (+0000) Subject: re PR ada/33722 (putenv() is made posix-conformant on FreeBSD 7.x) X-Git-Tag: prereleases/gcc-4.2.3-rc1~104 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=007608d020b66df860275123949a81cb5735cc12;p=thirdparty%2Fgcc.git re PR ada/33722 (putenv() is made posix-conformant on FreeBSD 7.x) 2007-12-01 Kostik Belousov gcc/ada/ PR ada/33722 * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv() and its argument must not be free()ed. From-SVN: r130556 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 0a3fc7e1054a..6474e291756c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2007-12-01 Kostik Belousov + + PR ada/33722 + * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv() + and its argument must not be free()ed. + 2007-10-07 Release Manager * GCC 4.2.2 released. diff --git a/gcc/ada/env.c b/gcc/ada/env.c index 30b5fb6dc2a1..178c2ac3246b 100644 --- a/gcc/ada/env.c +++ b/gcc/ada/env.c @@ -177,9 +177,9 @@ __gnat_setenv (char *name, char *value) sprintf (expression, "%s=%s", name, value); putenv (expression); -#if defined (__FreeBSD__) || defined (__APPLE__) || defined (__MINGW32__) \ - ||(defined (__vxworks) && ! defined (__RTP__)) - /* On some systems like FreeBSD, MacOS X and Windows, putenv is making +#if (defined (__FreeBSD__) && (__FreeBSD__ < 7)) || defined (__APPLE__) \ + || defined (__MINGW32__) ||(defined (__vxworks) && ! defined (__RTP__)) + /* On some systems like pre-7 FreeBSD, MacOS X and Windows, putenv is making a copy of the expression string so we can free it after the call to putenv */ free (expression);