shithub: sl

Download patch

ref: 4a1245bdde29a4664d70a1a3976178a4e8f51ef8
parent: a166a709b349edcb414326a3c1750ec667cf7269
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Wed Apr 23 15:31:45 EDT 2025

fn: make sure both code and max stack were set

--- a/src/sl.c
+++ b/src/sl.c
@@ -990,7 +990,6 @@
 	fn->vals = sl_emptyvec;
 	fn->env = sl_nil;
 	fn->name = sl_lambda;
-	fn->maxstack = ~(usize)0;
 	u8int *data = nil;
 	usize sz = 0;
 	bool envset = false, valsset = false, nameset = false, maxstackset = false, bcodeset = false;
@@ -1028,6 +1027,10 @@
 			bthrow(lerrorf(sl_errarg, "unexpected argument type"));
 		}
 	}
+	if(!bcodeset)
+		bthrow(lerrorf(sl_errarg, "no code"));
+	if(!maxstackset)
+		bthrow(lerrorf(sl_errarg, "no max stack"));
 	return fv;
 }