summaryrefslogtreecommitdiff
path: root/libguile/strings.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/strings.c')
-rw-r--r--libguile/strings.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/strings.c b/libguile/strings.c
index 733667d19..70ec6f23f 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -308,13 +308,13 @@ SCM_DEFINE (scm_string_append, "string-append", 0, 0, 1,
register long i = 0;
register SCM l, s;
register unsigned char *data;
- for (l = args;SCM_CONSP (l);) {
+
+ SCM_VALIDATE_REST_ARGUMENT (args);
+ for (l = args; !SCM_NULLP (l); l = SCM_CDR (l)) {
s = SCM_CAR (l);
SCM_VALIDATE_ROSTRING (SCM_ARGn,s);
i += SCM_ROLENGTH (s);
- l = SCM_CDR (l);
}
- SCM_ASSERT (SCM_NULLP (l), args, SCM_ARGn, FUNC_NAME);
res = scm_makstr (i, 0);
data = SCM_UCHARS (res);
for (l = args;SCM_NIMP (l);l = SCM_CDR (l)) {