available and appropriate. This fixes some type problems on
systems (recent linux) where int wasn't quite right. If
HAVE_SOCKLEN_T isn't defined, then revert to int. This is a
short-term fix, local to socket.c, and will be addressed more
generally in the next major release.
(ipv6_net_to_num): Change the argument type from "const char *" to
"const unsigned char *" to match the sign of the s6_addr type.
(ipv6_num_to_net): Change the argument type from "const char *" to
"const unsigned char *" to match its usage.
(s_scm_inet_pton): Use unsigned type when calling ipv6_net_to_num.
(s_scm_inet_ntop): Use unsigned type when calling ipv6_net_to_num.
(s_scm_getsockopt): Use scm_socklen_t rather than int.
(s_scm_accept): Use socklen_t rather than int.
(s_scm_getsockname): Use socklen_t rather than int.
(s_scm_getpeername): Use socklen_t rather than int.
(s_scm_recvfrom): Use socklen_t rather than int.
L_ctermid for the ctermid() result rather than passing NULL and
expecting a static pointer. This fixes a problem caused when
glibc sets a __nonnull attribute for ctermid() whenever
__USE_XOPEN is defined.
Fixes srfi-13 string-index segv on strings containing 8-bit
characters, reported by Alexey Voinov.
* chars.h (SCM_MAKE_CHAR): add (unsigned char) cast. This prevents
havoc when hi-bit ASCII is subjected to SCM_MAKE_CHAR().
./pre-inst-guile (actually ./.libs/lt-guile) from failing on some
architectures. The unconfirmed suspicion is that this is some
problem with autotools (automake, autoconf, and/or libtool) since
libguile already includes a libguile-ltdl.la dependency.
bases other than 2, 10, 16. This avoids overflows, in particular in
octal string->number and constants (other bases are undocumented, but
reach here so may as well work).
"blen >= j" not "blen > j", since after blen++ the k<blen loop will
have k==j which is past the end of the j length array and overwrites
data, leading to segvs in certain circumstances. And put the test
only before the blen++, which is the only place it can overflow, and
since we can legitimately get to blen==j with t2==0 when filling the
high word of the bignum.