From ab613e644a0c10a52b619287cf36f715bfc719b6 Mon Sep 17 00:00:00 2001 From: IgorCielniak Date: Wed, 25 Mar 2026 11:05:55 +0100 Subject: [PATCH] small fix to 'contains' and added 'find' --- stdlib/utils.sl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/stdlib/utils.sl b/stdlib/utils.sl index 4f4e764..c507dd2 100644 --- a/stdlib/utils.sl +++ b/stdlib/utils.sl @@ -531,7 +531,15 @@ end # contains [*, addr, len, addr | len] -> [* | bool] word contains 2 pick for - 4dup strcmp 1 == if 1 nip nip nip nip ret end + 4dup strcmp 1 == if 1 nip nip nip nip rdrop ret end >r >r >r 1 + r> r> r> end 0 nip nip nip nip end + +# find [*, addr, len, addr | len] -> [* | index] +word find + 0 >r 2 pick for + 4dup strcmp 1 == if rswap r> nip nip nip nip rdrop ret end + >r >r >r 1 + r> r> r> rswap r> 1 + >r rswap + end 0 nip nip nip nip +end