instead of scm_wrong_num_args.
* coop-threads.c: Don't include libguile/strings.h. (Was only
needed for former implementation of SCM_WRONG_NUM_ARGS.)
* debug.c (scm_m_start_stack): Don't use SCM_ASSERT to check for
wrong-num-args errors.
before looking at the magnitude. Correctly check for overflow
during conversion.
(scm_num2long_long): Likewise.
(scm_num2ulong_long): New.
(ULONG_LONG_MAX): Define if not already defined.
* numbers.h: (scm_num2ulong_long): New prototype.
(gh_scm2floats, gh_scm2doubles): Check for malloc() returning NULL
in various places.
(gh_scm2newstr, gh_symbol2newstr): Change call to
scm_must_malloc() to malloc(), because user-free()able memory is
allocated.
* gc.c: Added declaration of `scm_debug_check_freelist'.
* error.c, net_db.c, putenv.c, stime.c: Removed declaration of
errno variable (can be a macro on some systems, for example when
using linux libc with threads).
* error.c, filesys.c, gc.c, ioext.c, iselect.c, net_db.c, ports.c,
posix.c, print.c, putenv.c, scmsigs.c, script.c, simpos.c, smob.c,
socket.c, srcprop.c, stime.c, strop.c, unif.c, vports.c: Added
#include <errno.h> in these 20 out of 100 files.
to fail if the two arrays shared storage. Re-inserted the IVDEP
macros removed in the change of 2000-03-09. (Don't really have a
complete grasp of what they are for, but they seem to be necessary
on Crays. This needs testing!) Thanks to Miroslav Silovic.
* net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
the underlying functions getservent, getprotoent or getnetent
return NULL instead of signalling an error.
taking an unexpectedly large filename for an AF_UNIX socket from
bind/connect/sendto (thanks to Martin Grabmueller).
* socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
former and adjusted the latter.
(scm_socket, scm_socketpair): cosmetic changes.
(scm_getsockopt, scm_setsockopt): declare optlen as int, not
size_t as socklen_t substitute. don't restrict args/return values
to INUM: allow full range of int or size_t.
(scm_fill_sockaddr): check arguments before allocating memory, to
avoid leakage. use malloc, not scm_must_malloc.
(scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
substitute. free the sockaddr structure before throwing an error.
(scm_init_add_buffer): procedure removed, together with its static
buffer scm_addr_buffer, which wouldn't be thread safe. instead,
define a macro MAX_ADDR_SIZE and declare the buffer where needed.
(scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
scm_sendto): use a local buffer instead of scm_addr_buffer.
adjust for new SCM_SOCK_FD_TO_PORT. use int for address size,
not size_t.
(scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
call to detect whether recvfrom could be bothered to set the address.
(scm_init_socket): don't call scm_init_addr_buffer.