gv = (gv * 16) + ((int) (dp - hex) / 2);
else
break;
- so = mapglyph(gv, &ch, &oc, &os, 0, 0);
+ so = mapglyph(gv, &ch, &oc, &os, 0, 0, 0);
- *put++ = showsyms[so];
+ *put++ = g.showsyms[so];
/* 'str' is ready for the next loop iteration and '*str'
should not be copied at the end of this iteration */
continue;
{
register int i, x, y;
- for (i = 0; i < n_regions; i++)
- if (regions[i] == reg)
+ for (i = 0; i < g.n_regions; i++)
+ if (g.regions[i] == reg)
break;
- if (i == n_regions)
+ if (i == g.n_regions)
return;
- if (--n_regions != i)
- regions[i] = regions[n_regions];
- regions[n_regions] = (NhRegion *) 0;
+ /* remove region before potential newsym() calls, but don't free it yet */
++ if (--g.n_regions != i)
++ g.regions[i] = g.regions[g.n_regions];
++ g.regions[g.n_regions] = (NhRegion *) 0;
+
/* Update screen if necessary */
reg->ttl = -2L; /* for visible_region_at */
if (reg->visible)