1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00

Changes from arch/CVS synchronization

This commit is contained in:
Ludovic Courtès 2007-06-25 22:25:22 +00:00
parent 2778269600
commit d3075c52ac
8 changed files with 62 additions and 25 deletions

View file

@ -1,3 +1,7 @@
2007-06-26 Ludovic Courtès <ludo@gnu.org>
* NEWS: Mention fixed memory leaks.
2007-06-12 Ludovic Courtès <ludo@chbouib.org> 2007-06-12 Ludovic Courtès <ludo@chbouib.org>
* NEWS: Mention `inet-ntop' bug fix. * NEWS: Mention `inet-ntop' bug fix.

1
NEWS
View file

@ -55,6 +55,7 @@ This follows what it always did for "(* 0 inexact)".
** SRFI-19: Value returned by `(current-time time-process)' was incorrect ** SRFI-19: Value returned by `(current-time time-process)' was incorrect
** `ttyname' no longer crashes when passed a non-tty argument ** `ttyname' no longer crashes when passed a non-tty argument
** `inet-ntop' no longer crashes on SPARC when passed an `AF_INET' address ** `inet-ntop' no longer crashes on SPARC when passed an `AF_INET' address
** Small memory leaks have been fixed in `make-fluids' and `add-history'
** Build problems on Solaris fixed ** Build problems on Solaris fixed
** Build problems on Mingw fixed ** Build problems on Mingw fixed

View file

@ -1,3 +1,8 @@
2007-06-26 Ludovic Courtès <ludo@gnu.org>
* readline.c (scm_add_history): Free S after invocation of
`add_history ()'.
2007-01-19 Han-Wen Nienhuys <hanwen@lilypond.org> 2007-01-19 Han-Wen Nienhuys <hanwen@lilypond.org>
* readline.c: terminate option list with NULL. * readline.c: terminate option list with NULL.
@ -315,7 +320,7 @@
2001-06-14 Marius Vollmer <mvo@zagadka.ping.de> 2001-06-14 Marius Vollmer <mvo@zagadka.ping.de>
Thanks to Matthias Köppe! Thanks to Matthias Köppe!
* configure.in: Check for rl_filename_completion_function. * configure.in: Check for rl_filename_completion_function.
* readline.c (s_scm_filename_completion_function): Use * readline.c (s_scm_filename_completion_function): Use
@ -701,3 +706,7 @@ Sun Dec 12 19:56:52 1999 Greg J. Badros <gjb@cs.washington.edu>
* Started guile-readline package. Files are copied from old * Started guile-readline package. Files are copied from old
guile-core package and slightly modified. guile-core package and slightly modified.
;; Local Variables:
;; coding: utf-8
;; End:

View file

@ -1,6 +1,6 @@
/* readline.c --- line editing support for Guile */ /* readline.c --- line editing support for Guile */
/* Copyright (C) 1997,1999,2000,2001, 2002, 2003, 2006 Free Software Foundation, Inc. /* Copyright (C) 1997,1999,2000,2001, 2002, 2003, 2006, 2007 Free Software Foundation, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -329,6 +329,7 @@ SCM_DEFINE (scm_add_history, "add-history", 1, 0, 0,
s = scm_to_locale_string (text); s = scm_to_locale_string (text);
add_history (s); add_history (s);
free (s);
return SCM_UNSPECIFIED; return SCM_UNSPECIFIED;
} }

View file

@ -1,3 +1,11 @@
2007-06-26 Ludovic Courtès <ludo@gnu.org>
* fluids.c (next_fluid_num): When growing ALLOCATED_FLUIDS, make
sure to free the previous array after the new one has been
installed. This leak is made visible by running
"(define l (map (lambda (i) (make-fluid)) (iota 255)))"
from the REPL within Valgrind.
2007-06-12 Ludovic Courtès <ludo@chbouib.org> 2007-06-12 Ludovic Courtès <ludo@chbouib.org>
* socket.c (scm_inet_ntop): In the `AF_INET' case, declare `addr4' * socket.c (scm_inet_ntop): In the `AF_INET' case, declare `addr4'

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1996,1997,2000,2001, 2004, 2006 Free Software Foundation, Inc. /* Copyright (C) 1996,1997,2000,2001, 2004, 2006, 2007 Free Software Foundation, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -226,6 +226,7 @@ next_fluid_num ()
no GC can run while updating these two variables. no GC can run while updating these two variables.
*/ */
char *prev_allocated_fluids;
char *new_allocated_fluids = char *new_allocated_fluids =
scm_malloc (allocated_fluids_len + FLUID_GROW); scm_malloc (allocated_fluids_len + FLUID_GROW);
@ -236,9 +237,14 @@ next_fluid_num ()
memcpy (new_allocated_fluids, allocated_fluids, allocated_fluids_len); memcpy (new_allocated_fluids, allocated_fluids, allocated_fluids_len);
memset (new_allocated_fluids + allocated_fluids_len, 0, FLUID_GROW); memset (new_allocated_fluids + allocated_fluids_len, 0, FLUID_GROW);
n = allocated_fluids_len; n = allocated_fluids_len;
prev_allocated_fluids = allocated_fluids;
allocated_fluids = new_allocated_fluids; allocated_fluids = new_allocated_fluids;
allocated_fluids_len += FLUID_GROW; allocated_fluids_len += FLUID_GROW;
if (prev_allocated_fluids != NULL)
free (prev_allocated_fluids);
/* Now allocated_fluids and allocated_fluids_len are valid again /* Now allocated_fluids and allocated_fluids_len are valid again
and we can allow GCs to occur. and we can allow GCs to occur.
*/ */

View file

@ -1,3 +1,9 @@
2007-06-26 Ludovic Courtès <ludo@gnu.org>
* tests/socket.test (htonl): Only executed if `htonl' is defined.
(ntohl): Likewise. Reported by Marijn Schouten (hkBst)
<hkBst@gentoo.org>.
2007-06-12 Ludovic Courtès <ludo@chbouib.org> 2007-06-12 Ludovic Courtès <ludo@chbouib.org>
* tests/socket.test: Renamed module to `(test-suite test-socket)'. * tests/socket.test: Renamed module to `(test-suite test-socket)'.

View file

@ -25,20 +25,21 @@
;;; htonl ;;; htonl
;;; ;;;
(with-test-prefix "htonl" (if (defined? 'htonl)
(with-test-prefix "htonl"
(pass-if "0" (eqv? 0 (htonl 0))) (pass-if "0" (eqv? 0 (htonl 0)))
(pass-if-exception "-1" exception:out-of-range (pass-if-exception "-1" exception:out-of-range
(htonl -1)) (htonl -1))
;; prior to guile 1.6.9 and 1.8.1, systems with 64-bit longs didn't detect ;; prior to guile 1.6.9 and 1.8.1, systems with 64-bit longs didn't detect
;; an overflow for values 2^32 <= x < 2^63 ;; an overflow for values 2^32 <= x < 2^63
(pass-if-exception "2^32" exception:out-of-range (pass-if-exception "2^32" exception:out-of-range
(htonl (ash 1 32))) (htonl (ash 1 32)))
(pass-if-exception "2^1024" exception:out-of-range (pass-if-exception "2^1024" exception:out-of-range
(htonl (ash 1 1024)))) (htonl (ash 1 1024)))))
;;; ;;;
@ -151,20 +152,21 @@
;;; ntohl ;;; ntohl
;;; ;;;
(with-test-prefix "ntohl" (if (defined? 'ntohl)
(with-test-prefix "ntohl"
(pass-if "0" (eqv? 0 (ntohl 0))) (pass-if "0" (eqv? 0 (ntohl 0)))
(pass-if-exception "-1" exception:out-of-range (pass-if-exception "-1" exception:out-of-range
(ntohl -1)) (ntohl -1))
;; prior to guile 1.6.9 and 1.8.1, systems with 64-bit longs didn't detect ;; prior to guile 1.6.9 and 1.8.1, systems with 64-bit longs didn't detect
;; an overflow for values 2^32 <= x < 2^63 ;; an overflow for values 2^32 <= x < 2^63
(pass-if-exception "2^32" exception:out-of-range (pass-if-exception "2^32" exception:out-of-range
(ntohl (ash 1 32))) (ntohl (ash 1 32)))
(pass-if-exception "2^1024" exception:out-of-range (pass-if-exception "2^1024" exception:out-of-range
(ntohl (ash 1 1024)))) (ntohl (ash 1 1024)))))