diff --git a/source/qb64.bas b/source/qb64.bas index b95bfc8b9..0651f77e2 100644 --- a/source/qb64.bas +++ b/source/qb64.bas @@ -18355,27 +18355,29 @@ FUNCTION findid& (n2$) id = ids(i) t = id.t - IF t = 0 THEN - t = id.arraytype - IF t AND ISUDT THEN - manageVariableList "", scope$ + "ARRAY_UDT_" + RTRIM$(id.n), 1 - ELSE - n$ = id2shorttypename$ - IF LEFT$(n$, 1) = "_" THEN - manageVariableList "", scope$ + "ARRAY" + n$ + "_" + RTRIM$(id.n), 2 + IF id.subfunc = 0 THEN + IF t = 0 THEN + t = id.arraytype + IF t AND ISUDT THEN + manageVariableList "", scope$ + "ARRAY_UDT_" + RTRIM$(id.n), 1 ELSE - manageVariableList "", scope$ + "ARRAY_" + n$ + "_" + RTRIM$(id.n), 3 + n$ = id2shorttypename$ + IF LEFT$(n$, 1) = "_" THEN + manageVariableList "", scope$ + "ARRAY" + n$ + "_" + RTRIM$(id.n), 2 + ELSE + manageVariableList "", scope$ + "ARRAY_" + n$ + "_" + RTRIM$(id.n), 3 + END IF END IF - END IF - ELSE - IF t AND ISUDT THEN - manageVariableList "", scope$ + "UDT_" + RTRIM$(id.n), 4 ELSE - n$ = id2shorttypename$ - IF LEFT$(n$, 1) = "_" THEN - manageVariableList "", scope$ + MID$(n$, 2) + "_" + RTRIM$(id.n), 5 + IF t AND ISUDT THEN + manageVariableList "", scope$ + "UDT_" + RTRIM$(id.n), 4 ELSE - manageVariableList "", scope$ + n$ + "_" + RTRIM$(id.n), 6 + n$ = id2shorttypename$ + IF LEFT$(n$, 1) = "_" THEN + manageVariableList "", scope$ + MID$(n$, 2) + "_" + RTRIM$(id.n), 5 + ELSE + manageVariableList "", scope$ + n$ + "_" + RTRIM$(id.n), 6 + END IF END IF END IF END IF