diff options
Diffstat (limited to 'sc2.c')
-rw-r--r-- | sc2.c | 64 |
1 files changed, 33 insertions, 31 deletions
@@ -50,7 +50,7 @@ SCM last_pair(sx) { register SCM res = sx; register SCM x; - ASSERT(NIMP(res) && CONSP(res), res, ARG1, s_last_pair); + ASRTER(NIMP(res) && CONSP(res), res, ARG1, s_last_pair); while (!0) { x = CDR(res); if (IMP(x) || NCONSP(x)) return res; @@ -59,7 +59,7 @@ SCM last_pair(sx) if (IMP(x) || NCONSP(x)) return res; res = x; sx = CDR(sx); - ASSERT(x != sx, sx, ARG1, s_last_pair); + ASRTER(x != sx, sx, ARG1, s_last_pair); } } @@ -69,20 +69,20 @@ SCM subml(str1, start1, args) { SCM end1, str2, start2; long i, j, e; - ASSERT(3==ilength(args), args, WNA, s_subml); + ASRTER(3==ilength(args), args, WNA, s_subml); end1 = CAR(args); args = CDR(args); str2 = CAR(args); args = CDR(args); start2 = CAR(args); - ASSERT(NIMP(str1) && STRINGP(str1), str1, ARG1, s_subml); - ASSERT(INUMP(start1), start1, ARG2, s_subml); - ASSERT(INUMP(end1), end1, ARG3, s_subml); - ASSERT(NIMP(str2) && STRINGP(str2), str2, ARG4, s_subml); - ASSERT(INUMP(start2), start2, ARG5, s_subml); + ASRTER(NIMP(str1) && STRINGP(str1), str1, ARG1, s_subml); + ASRTER(INUMP(start1), start1, ARG2, s_subml); + ASRTER(INUMP(end1), end1, ARG3, s_subml); + ASRTER(NIMP(str2) && STRINGP(str2), str2, ARG4, s_subml); + ASRTER(INUMP(start2), start2, ARG5, s_subml); i = INUM(start1), j = INUM(start2), e = INUM(end1); - ASSERT(i <= LENGTH(str1) && i >= 0, start1, OUTOFRANGE, s_subml); - ASSERT(j <= LENGTH(str2) && j >= 0, start2, OUTOFRANGE, s_subml); - ASSERT(e <= LENGTH(str1) && e >= 0, end1, OUTOFRANGE, s_subml); - ASSERT(e-i+j <= LENGTH(str2), start2, OUTOFRANGE, s_subml); + ASRTER(i <= LENGTH(str1) && i >= 0, start1, OUTOFRANGE, s_subml); + ASRTER(j <= LENGTH(str2) && j >= 0, start2, OUTOFRANGE, s_subml); + ASRTER(e <= LENGTH(str1) && e >= 0, end1, OUTOFRANGE, s_subml); + ASRTER(e-i+j <= LENGTH(str2), start2, OUTOFRANGE, s_subml); while(i<e) CHARS(str2)[j++] = CHARS(str1)[i++]; return UNSPECIFIED; } @@ -92,20 +92,20 @@ SCM submr(str1, start1, args) { SCM end1, str2, start2; long i, j, e; - ASSERT(3==ilength(args), args, WNA, s_submr); + ASRTER(3==ilength(args), args, WNA, s_submr); end1 = CAR(args); args = CDR(args); str2 = CAR(args); args = CDR(args); start2 = CAR(args); - ASSERT(NIMP(str1) && STRINGP(str1), str1, ARG1, s_submr); - ASSERT(INUMP(start1), start1, ARG2, s_submr); - ASSERT(INUMP(end1), end1, ARG3, s_submr); - ASSERT(NIMP(str2) && STRINGP(str2), str2, ARG4, s_submr); - ASSERT(INUMP(start2), start2, ARG5, s_submr); + ASRTER(NIMP(str1) && STRINGP(str1), str1, ARG1, s_submr); + ASRTER(INUMP(start1), start1, ARG2, s_submr); + ASRTER(INUMP(end1), end1, ARG3, s_submr); + ASRTER(NIMP(str2) && STRINGP(str2), str2, ARG4, s_submr); + ASRTER(INUMP(start2), start2, ARG5, s_submr); i = INUM(start1), j = INUM(start2), e = INUM(end1); - ASSERT(i <= LENGTH(str1) && i >= 0, start1, OUTOFRANGE, s_submr); - ASSERT(j <= LENGTH(str2) && j >= 0, start2, OUTOFRANGE, s_submr); - ASSERT(e <= LENGTH(str1) && e >= 0, end1, OUTOFRANGE, s_submr); - ASSERT((j = e-i+j) <= LENGTH(str2), start2, OUTOFRANGE, s_submr); + ASRTER(i <= LENGTH(str1) && i >= 0, start1, OUTOFRANGE, s_submr); + ASRTER(j <= LENGTH(str2) && j >= 0, start2, OUTOFRANGE, s_submr); + ASRTER(e <= LENGTH(str1) && e >= 0, end1, OUTOFRANGE, s_submr); + ASRTER((j = e-i+j) <= LENGTH(str2), start2, OUTOFRANGE, s_submr); while(i<e) CHARS(str2)[--j] = CHARS(str1)[--e]; return UNSPECIFIED; } @@ -116,16 +116,16 @@ SCM subfl(str, start, args) SCM end, fill; long i, e; char c; - ASSERT(2==ilength(args), args, WNA, s_subfl); + ASRTER(2==ilength(args), args, WNA, s_subfl); end = CAR(args); args = CDR(args); fill = CAR(args); - ASSERT(NIMP(str) && STRINGP(str), str, ARG1, s_subfl); - ASSERT(INUMP(start), start, ARG2, s_subfl); - ASSERT(INUMP(end), end, ARG3, s_subfl); - ASSERT(ICHRP(fill), fill, ARG4, s_subfl); + ASRTER(NIMP(str) && STRINGP(str), str, ARG1, s_subfl); + ASRTER(INUMP(start), start, ARG2, s_subfl); + ASRTER(INUMP(end), end, ARG3, s_subfl); + ASRTER(ICHRP(fill), fill, ARG4, s_subfl); i = INUM(start), e = INUM(end);c = ICHR(fill); - ASSERT(i <= LENGTH(str) && i >= 0, start, OUTOFRANGE, s_subfl); - ASSERT(e <= LENGTH(str) && e >= 0, end, OUTOFRANGE, s_subfl); + ASRTER(i <= LENGTH(str) && i >= 0, start, OUTOFRANGE, s_subfl); + ASRTER(e <= LENGTH(str) && e >= 0, end, OUTOFRANGE, s_subfl); while(i<e) CHARS(str)[i++] = c; return UNSPECIFIED; } @@ -134,7 +134,7 @@ static char s_strnullp[] = "string-null?"; SCM strnullp(str) SCM str; { - ASSERT(NIMP(str) && STRINGP(str), str, ARG1, s_strnullp); + ASRTER(NIMP(str) && STRINGP(str), str, ARG1, s_strnullp); if LENGTH(str) return BOOL_F; else return BOOL_T; } @@ -150,7 +150,7 @@ SCM appendb(args) args = CDR(args); if NULLP(args) return arg; if NULLP(arg) goto tail; - ASSERT(NIMP(arg) && CONSP(arg), arg, ARG1, s_appendb); + ASRTER(NIMP(arg) && CONSP(arg), arg, ARG1, s_appendb); CDR(last_pair(arg)) = appendb(args); return arg; } @@ -161,6 +161,8 @@ static iproc lsubr2s[] = { {s_subfl, subfl}, {0, 0}}; +SCM_DLL_EXPORT void init_sc2 P((void)); + void init_sc2() { make_subr(s_last_pair, tc7_subr_1, last_pair); |