summaryrefslogtreecommitdiff
path: root/libguile/list.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/list.c')
-rw-r--r--libguile/list.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/libguile/list.c b/libguile/list.c
index c22c42594..7654f6617 100644
--- a/libguile/list.c
+++ b/libguile/list.c
@@ -383,7 +383,7 @@ SCM_DEFINE (scm_list_ref, "list-ref", 2, 0, 0,
{
SCM lst = list;
unsigned long int i;
- SCM_VALIDATE_INUM_MIN_COPY (2, k,0, i);
+ i = scm_to_ulong (k);
while (SCM_CONSP (lst)) {
if (i == 0)
return SCM_CAR (lst);
@@ -406,8 +406,7 @@ SCM_DEFINE (scm_list_set_x, "list-set!", 3, 0, 0,
#define FUNC_NAME s_scm_list_set_x
{
SCM lst = list;
- unsigned long int i;
- SCM_VALIDATE_INUM_MIN_COPY (2, k,0, i);
+ unsigned long int i = scm_to_ulong (k);
while (SCM_CONSP (lst)) {
if (i == 0) {
SCM_SETCAR (lst, val);
@@ -437,8 +436,7 @@ SCM_DEFINE (scm_list_tail, "list-tail", 2, 0, 0,
"or returning the results of cdring @var{k} times down @var{lst}.")
#define FUNC_NAME s_scm_list_tail
{
- register long i;
- SCM_VALIDATE_INUM_MIN_COPY (2, k,0, i);
+ size_t i = scm_to_size_t (k);
while (i-- > 0) {
SCM_VALIDATE_CONS (1, lst);
lst = SCM_CDR(lst);
@@ -454,8 +452,7 @@ SCM_DEFINE (scm_list_cdr_set_x, "list-cdr-set!", 3, 0, 0,
#define FUNC_NAME s_scm_list_cdr_set_x
{
SCM lst = list;
- unsigned long int i;
- SCM_VALIDATE_INUM_MIN_COPY (2, k,0, i);
+ size_t i = scm_to_size_t (k);
while (SCM_CONSP (lst)) {
if (i == 0) {
SCM_SETCDR (lst, val);
@@ -484,9 +481,8 @@ SCM_DEFINE (scm_list_head, "list-head", 2, 0, 0,
{
SCM answer;
SCM * pos;
- register long i;
+ size_t i = scm_to_size_t (k);
- SCM_VALIDATE_INUM_MIN_COPY (2, k,0, i);
answer = SCM_EOL;
pos = &answer;
while (i-- > 0)