mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Changes from arch/CVS synchronization
This commit is contained in:
parent
ee834df41f
commit
8b0f07460a
4 changed files with 15 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2007-10-27 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
* NEWS: Mention `putenv' memory leak fix.
|
||||
|
||||
2007-10-24 Neil Jerram <neil@ossau.uklinux.net>
|
||||
|
||||
* .cvsignore: Add "lib".
|
||||
|
|
1
NEWS
1
NEWS
|
@ -43,6 +43,7 @@ Changes in 1.8.4 (since 1.8.3)
|
|||
** CR (ASCII 0x0d) is (again) recognized as a token delimiter by the reader
|
||||
** Fixed a segmentation fault which occurred when displaying the
|
||||
backtrace of a stack with a promise object (made by `delay') in it.
|
||||
** Fixed memory leak in `putenv'
|
||||
|
||||
|
||||
Changes in 1.8.3 (since 1.8.2)
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
2007-10-27 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
* posix.c (scm_putenv): Make sure C_STR gets freed.
|
||||
|
||||
* fports.c (scm_i_evict_port): Expect a port, rather than a pair
|
||||
containing the port. Fixes a bug in the new port table (2007-08-26).
|
||||
(scm_evict_ports): Use `scm_c_port_for_each ()'.
|
||||
|
|
|
@ -1385,6 +1385,8 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0,
|
|||
#else
|
||||
/* otherwise traditional putenv("NAME") */
|
||||
rv = putenv (c_str);
|
||||
free (c_str);
|
||||
|
||||
if (rv < 0)
|
||||
SCM_SYSERROR;
|
||||
#endif
|
||||
|
@ -1406,7 +1408,9 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0,
|
|||
char *ptr = scm_malloc (len+2);
|
||||
strcpy (ptr, c_str);
|
||||
strcpy (ptr+len, " ");
|
||||
|
||||
rv = putenv (ptr);
|
||||
free (ptr);
|
||||
if (rv < 0)
|
||||
{
|
||||
int eno = errno;
|
||||
|
@ -1419,6 +1423,8 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0,
|
|||
ptr = getenv (c_str);
|
||||
if (ptr)
|
||||
ptr[0] = '\0';
|
||||
free (c_str);
|
||||
|
||||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
}
|
||||
|
@ -1427,6 +1433,8 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0,
|
|||
/* Leave c_str in the environment. */
|
||||
|
||||
rv = putenv (c_str);
|
||||
free (c_str);
|
||||
|
||||
if (rv < 0)
|
||||
SCM_SYSERROR;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue