From 8edb55ac8774be1e17abf7049cfa4c45f8ba1326 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 12 May 2020 03:57:22 -0700 Subject: [PATCH] SCP: During expression evaluation, make lookups (REG, Env) consistent Both REGister and Environment Variable name lookup now do a precise name lookup with the presented name followed by an upcased name lookup. --- scp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scp.c b/scp.c index 0593da6b..5f64723d 100644 --- a/scp.c +++ b/scp.c @@ -15046,8 +15046,16 @@ if (sim_isalpha (*data) || (*data == '_')) { rptr = find_reg (data, &gptr, dptr); } } - else + else { rptr = find_reg_glob (data, &gptr, &dptr); + if (!rptr) { /* Register not found? */ + char tbuf[CBUFSIZE]; + + get_glyph (data, tbuf, 0); /* try using the upcased name */ + if (strcmp (data, tbuf)) /* upcase different? */ + rptr = find_reg_glob (tbuf, &gptr, &dptr);/* lookup the upcase name */ + } + } if (rptr) { *svalue = (t_svalue)get_rval (rptr, 0); sprint_val (string, *svalue, 10, string_size - 1, PV_LEFTSIGN);