Next: , Previous: , Up: System File Format   [Contents][Index]

B.15 Long String Missing Values Record

This record, if present, specifies missing values for long string variables.

/* Header. */
int32               rec_type;
int32               subtype;
int32               size;
int32               count;

/* Repeated up to exactly count bytes. */
int32               var_name_len;
char                var_name[];
char                n_missing_values;
long_string_missing_value   values[];
int32 rec_type;

Record type. Always set to 7.

int32 subtype;

Record subtype. Always set to 22.

int32 size;

Always set to 1.

int32 count;

The number of bytes following the header until the next header.

int32 var_name_len;
char var_name[];

The number of bytes in the name of the long string variable that has missing values, plus the variable name itself, which consists of exactly var_name_len bytes. The variable name is not padded to any particular boundary, nor is it null-terminated.

char n_missing_values;

The number of missing values, either 1, 2, or 3. (This is, unusually, a single byte instead of a 32-bit number.)

long_string_missing_value values[];

The missing values themselves. This array contains exactly n_missing_values elements, each of which has the following substructure:

int32               value_len;
char                value[];
int32 value_len;

The length of the missing value string, in bytes. This value should be 8, because long string variables are at least 8 bytes wide (by definition), only the first 8 bytes of a long string variable’s missing values are allowed to be non-spaces, and any spaces within the first 8 bytes are included in the missing value here.

char value[];

The missing value string, exactly value_len bytes, without any padding or null terminator.

Next: , Previous: , Up: System File Format   [Contents][Index]