+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-11-29 Eric Botcazou <ebotcazou@adacore.com>
* decl.c (make_packable_type): Retrieve the real name of the type.
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);