From: Skgland Date: Sat, 9 Aug 2025 16:40:57 +0000 (+0200) Subject: require array_length to be > 0 X-Git-Tag: v0.10.0~11^2~18 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=edd6d44bd664a36ef216941415ae52045d71666d;p=scryer-prolog.git require array_length to be > 0 C does not have 0-sized types --- diff --git a/src/lib/ffi.pl b/src/lib/ffi.pl index 8e22e1b3..e3394ca5 100644 --- a/src/lib/ffi.pl +++ b/src/lib/ffi.pl @@ -132,6 +132,7 @@ deallocate(Allocator, Type, Ptr) :- :- dynamic(is_array_type_defined/1). array_type(ElemType, Len, ArrayType) :- + (Len =< 0 -> domain_error(greater_than_zero, Len, array_type/3); true), phrase(format_("$[~a;~d]", [ElemType, Len]), ArrayTypeName), atom_chars(ArrayType, ArrayTypeName), (is_array_type_defined(ArrayType) -> true