Skip to main content
Skip table of contents

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

TEXT
(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

TEXT
(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

TEXT
(PlgFwStrRecordAbandon).
      }
    }

Deallocate the record (PlgFwStrRecordFree).

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.