X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fveneer.c;h=d32ad40c125db1e0460160e8e22cce81e24f235b;hb=c881aa3386c00d7021ffabf2f66275d6c110c1c1;hp=2f701595ebe104b6a7a0237edc820a800260583e;hpb=81ffe9a7de1db0b3a318a053b38882d1b7ab304c;p=inform.git diff --git a/src/veneer.c b/src/veneer.c index 2f70159..d32ad40 100644 --- a/src/veneer.c +++ b/src/veneer.c @@ -3,9 +3,8 @@ /* by the compiler (e.g. DefArt) which the program doesn't */ /* provide */ /* */ -/* Copyright (c) Graham Nelson 1993 - 2018 */ -/* */ -/* This file is part of Inform. */ +/* Part of Inform 6.35 */ +/* copyright (c) Graham Nelson 1993 - 2021 */ /* */ /* Inform is free software: you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ @@ -18,7 +17,7 @@ /* GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License */ -/* along with Inform. If not, see https://gnu.org/licenses/ */ +/* along with Inform. If not, see https://gnu.org/licenses/ * /* */ /* ------------------------------------------------------------------------- */ @@ -246,7 +245,11 @@ static VeneerRoutine VRs_z[VENEER_ROUTINES] = { if (identifier >= 1 && identifier < 64 && obj.#identifier <= 2)\ return obj.identifier;\ RT__Err(\"read\", obj, identifier); return; }\ + #IFV3;\ + if (obj..#identifier > 2) RT__Err(\"read\", obj, identifier);\ + #IFNOT;\ if (obj..#identifier > 2) RT__Err(\"read\", obj, identifier, 2);\ + #ENDIF;\ return x-->0;\ ]", "", "", "", "", "" }, @@ -2244,7 +2247,7 @@ static void compile_symbol_table_routine(void) AO3.marker = 0; assemblez_store(temp_var3, AO3); AO3.value = svals[array_symbols[j]]; - AO3.marker = ARRAY_MV; + AO3.marker = (!array_locs[j] ? ARRAY_MV : STATIC_ARRAY_MV); assemblez_1(ret_zc, AO3); assemble_label_no(nl); }