mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 08:10:17 +02:00
* Unified some rest argument checking and handling.
This commit is contained in:
parent
c8a54c4b87
commit
af45e3b06a
22 changed files with 164 additions and 140 deletions
|
@ -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)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue