add two structs for OP_TRANS
authorDavid Mitchell <davem@iabyn.com>
Fri, 12 Jan 2018 12:00:30 +0000 (12:00 +0000)
committerDavid Mitchell <davem@iabyn.com>
Fri, 19 Jan 2018 13:45:20 +0000 (13:45 +0000)
commitc1048fcffff9a2b16ece33136c56febc7e5e4396
tree14410bc416f113a61d6621f51978f53c363482b9
parent5f63644886c09045a5d86d169abdfea9e804bce7
add two structs for OP_TRANS

Originally, the op_pv of an OP_TRANS op pointed to a 256-slot array of
shorts, which contained the translations. However, in the presence of
tr///c, extra information needs to be stored to handle utf8 strings.
The 256 slot array was extended, with slot 0x100 holding a length,
and slots 0x101 holding some extra chars.

This has made things a bit messy, so this commit adds two structs,
one being an array of 256 shorts, and the other being the same but with
some extra fields. So for example tbl->[0x100] has been replaced with
tbl->excess_len.

This commit should make no functional difference, but will allow us
shortly to fix a bug by changing the type of the excess_len field from
short to something bigger, for example.
doop.c
op.c
op.h