different definitions for SCM_STRING_MAX_LENGTH, SCM_STRING_LENGTH
and SCM_SET_STRING_LENGTH, and add new convenience macro
SCM_SET_SUBSTRING_LENGTH.
* strings.c (scm_makstr, scm_take_str, scm_allocate_string,
scm_make_shared_substring): Allocate a double cell for a string,
if GUILE_EXPERIMENTAL_BIG_STRINGS is defined.
tm:gmtoff which is seconds West. Reported by Aaron VanDevender.
(bdtime2c): Test HAVE_STRUCT_TM_TM_GMTOFF for tm_gmtoff, rather than
HAVE_TM_ZONE.
(scm_strptime): Use tm_gmtoff from the strptime result when that field
exists, it's set by glibc strptime "%s".
particular adjust scm_mallocated so that when bignums are trimmed by
scm_i_adjbig the net effect (after gc) on scm_mallocated is 0. Test
case in gc.test.
the value at its top. This fixes a reference leak.
(PUSH_REF): Perform `pstate->top++' after setting the next stack
slot to make the code clearer. (Thanks to Ludovic Courtès for
this patch.)
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.