Next: Data File and Variable Attributes Records, Previous: Long String Value Labels Record, Up: System File Format [Contents]
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: Data File and Variable Attributes Records, Previous: Long String Value Labels Record, Up: System File Format [Contents]