(v13) String Data types
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
The string operations define one opaque data structure, the string record (PlgFwStrRecord
) and several opaque data variables (ODVs). The following ODVs are defined for handling 64‐bit integers:
PlgFwByte
A single byte. No assumptions are made about the byte's content.
PlgFwRawByte
A single byte with no encoding.
PlgFwTextString
Pointer to a string of PlgFwTextByte
.
Table 18.5 Data types used in string handling
PlgFwTextCharacter
A single character encoded using the HES.
The numeric equivalents of the values that a character may take are as follows:
- Greater than zero a valid HES character encoding value
- Zero the zero terminator for an HES string
- Less than zero an invalid HES encoding
Table 18.5 Data types used in string handling
PlgFwStrRecord
Many string operations are based around the string record
(PlgFwStrRecord
). This is a data structure designed for the storage of multi‐byte encoded strings. A string record can store either an extensible string, or a fixed length string.
PlgFwStrRecord
is an opaque data structure.
A string record has a lifecycle described by the following section of pseudocode:
Allocate the record
(PlgFwStrRecordAlloc) REPEAT AS NEEDED
{
EITHER
{
Open the record as extensible (PlgFwStrRecordOpen[Size]
) Perform operations changing and/or inspecting the record.
Close the record (PlgFwStrRecordClose).
Perform operations which only inspect the record. Abandon the record
(PlgFwStrRecordAbandon).
}
OR
{
Open the record as fixed (PlgFwStrRecordOpenOn).
Perform operations changing and/or inspecting the record. Close the record (PlgFwStrRecordClose).
Perform operations which only inspect the record. Abandon the record
(PlgFwStrRecordAbandon).
}
}
Deallocate the record (PlgFwStrRecordFree).