X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fveneer.c;h=519e08552617f3547d5122dfcf8837f66784c6d9;hb=e536ce9e39cc1bfa82ecd1d6d73f874af655f9db;hp=2f701595ebe104b6a7a0237edc820a800260583e;hpb=18379907e684280f6e70bf5c2205c2968e56fa67;p=inform.git diff --git a/src/veneer.c b/src/veneer.c index 2f70159..519e085 100644 --- a/src/veneer.c +++ b/src/veneer.c @@ -3,7 +3,7 @@ /* by the compiler (e.g. DefArt) which the program doesn't */ /* provide */ /* */ -/* Copyright (c) Graham Nelson 1993 - 2018 */ +/* Copyright (c) Graham Nelson 1993 - 2020 */ /* */ /* This file is part of Inform. */ /* */ @@ -246,7 +246,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 +2248,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); }