mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 20:00:19 +02:00
Make things compile neatly under Sun's C compiler.
* dynl.c (scm_dynamic_func): Cast return value from sysdep_dynl_func. * extchrs.c (xmbtowc): Make the second arg a normal char, not unsigned, because that's what the ANSI function takes. * extchrs.h (xmbtowc): Corresponding change to prototype. * genio.c (scm_gen_getc): Make buf plain chars. Nobody wants uchars here. * mbstrings.c (scm_mb_ilength): Use ANSI arg syntax. Make DATA argument plain char *. * strings.c (scm_string): Use SCM_ROCHARS, since c is a plain char. * tag.c (scm_tag): Remove unreachable statement. * unif.c (scm_array_to_list): If we want to shift a 1 bit to the top of the word, it should be unsigned.
This commit is contained in:
parent
e3173f937c
commit
cdbadcacc1
9 changed files with 11 additions and 800 deletions
|
@ -2021,7 +2021,7 @@ scm_array_to_list (v)
|
|||
long *data = (long *) SCM_VELTS (v);
|
||||
register unsigned long mask;
|
||||
for (k = (SCM_LENGTH (v) - 1) / SCM_LONG_BIT; k > 0; k--)
|
||||
for (mask = 1L << (SCM_LONG_BIT - 1); mask; mask >>= 1)
|
||||
for (mask = 1UL << (SCM_LONG_BIT - 1); mask; mask >>= 1)
|
||||
res = scm_cons (((long *) data)[k] & mask ? SCM_BOOL_T : SCM_BOOL_F, res);
|
||||
for (mask = 1L << ((SCM_LENGTH (v) % SCM_LONG_BIT) - 1); mask; mask >>= 1)
|
||||
res = scm_cons (((long *) data)[k] & mask ? SCM_BOOL_T : SCM_BOOL_F, res);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue