From 71376783ea11700e758e21ba7d8d1722fc3350a5 Mon Sep 17 00:00:00 2001 From: Itamar Ben Zaken Date: Tue, 17 Mar 2009 16:08:07 +0200 Subject: [PATCH] fixed: make-string can accept only 1 arg --- src/c/builtins.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/c/builtins.c b/src/c/builtins.c index 4b9e110..016a88e 100644 --- a/src/c/builtins.c +++ b/src/c/builtins.c @@ -344,13 +344,16 @@ Leq_false: BI_RETURN(); Lmake_string: - ASSERT_ALWAYS( BI_ST_ARG_COUNT()==2,MSG_ERR_ARGCOUNT("make-string",2) ); + ASSERT_ALWAYS( BI_ST_ARG_COUNT()>=1,MSG_ERR_ARGCOUNT("make-string",1) ); r[0] = BI_ST_ARG(0); ASSERT_ALWAYS(IS_SOB_INT((SchemeObject*)r[0]), ""); r[0] = SOB_INT_VALUE(r[0]); + r[1] = 0; + if (BI_ST_ARG_COUNT()==1) goto Lmake_string_make; r[1] = BI_ST_ARG(1); ASSERT_ALWAYS(IS_SOB_CHAR((SchemeObject*)r[1]), ""); r[1] = (int)SOB_CHAR_VALUE(r[1]); +Lmake_string_make: r_res = (int)makeSchemeString(r[0],(char)r[1]); BI_RETURN(); -- 2.11.4.GIT