]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR ada/33722 (putenv() is made posix-conformant on FreeBSD 7.x)
authorKostik Belousov <kostikbel@ukr.net>
Sat, 1 Dec 2007 12:03:42 +0000 (12:03 +0000)
committerSamuel Tardieu <sam@gcc.gnu.org>
Sat, 1 Dec 2007 12:03:42 +0000 (12:03 +0000)
2007-12-01  Kostik Belousov  <kostikbel@ukr.net>

    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

gcc/ada/ChangeLog
gcc/ada/env.c

index 0a3fc7e1054a2a0445d15f218edcac26f373ff4f..6474e291756ccb75e5b8c27193945f7ece2c4493 100644 (file)
@@ -1,3 +1,9 @@
+2007-12-01  Kostik Belousov  <kostikbel@ukr.net>
+
+       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.
index 30b5fb6dc2a136caf802d9e2f753516f44a1c6a1..178c2ac3246bf6118cce9dca09ff1cb56df702ac 100644 (file)
@@ -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);