From b912bf09eea21ca5b15d63321edbcfa8eeebd24e Mon Sep 17 00:00:00 2001 From: Luke Ceddia Date: Sun, 28 Oct 2018 00:00:29 +1100 Subject: [PATCH] Disallow GET/PUT for variable UDTs --- source/qb64.bas | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/qb64.bas b/source/qb64.bas index 5e15f749b..a69c46639 100644 --- a/source/qb64.bas +++ b/source/qb64.bas @@ -1940,6 +1940,7 @@ DO udtxcname(i) = getelement(ca$, 2) udtxnext(i) = 0 udtxsize(i) = 0 + udtxvariable(i) = 0 hashname$ = secondelement$ hashflags = HASHFLAG_UDT @@ -16985,6 +16986,7 @@ FUNCTION evaluatetotyp$ (a2$, targettyp AS LONG) ' print "-4: evaluated as ["+e$+"]":sleep 1 IF (sourcetyp AND ISUDT) THEN 'User Defined Type -> byte_element(offset,bytes) + If udtxvariable(sourcetyp AND 511) Then Give_Error "Cannot GET/PUT variable-length TYPE": Exit Function idnumber = VAL(e$) i = INSTR(e$, sp3): e$ = RIGHT$(e$, LEN(e$) - i) u = VAL(e$) 'closest parent