parseLtagTable function

dynamic parseLtagTable(
  1. dynamic data,
  2. dynamic start
)

Implementation

parseLtagTable(data, start) {
    var p = new Parser(data, start);
    var tableVersion = p.parseULong();
    argument(tableVersion == 1, 'Unsupported ltag table version.');
    // The 'ltag' specification does not define any flags; skip the field.
    p.skip('uLong', 1);
    var numTags = p.parseULong();

    var tags = [];
    for (var i = 0; i < numTags; i++) {
        var tag = '';
        var offset = start + p.parseUShort();
        var length = p.parseUShort();
        for (var j = offset; j < offset + length; ++j) {
            tag += String.fromCharCode(data.getInt8(j));
        }

        tags.add(tag);
    }

    return tags;
}