Compartmented Mode Workstation Labeling: Encodings Format

Changes to Subroutines

  1. CMW Label Setting Demo.c was changed in Macintosh-specific ways. The changes were in no way related to the usage of the labeling subroutines.

  2. In std_labels.c and l_init.c all uncast calls to calloc were cast to (char *).

  3. In l_init.c (line 2862 of Release 2.1.1), sl_buffer was changed to cl_buffer.

  4. In l_init.c (line 1456 of Release 2.1.1), added a cast of (unsigned int) to a subroutine argument. This cast would be required on some compilers/systems.

  5. In l_init.c, added subroutine check_special_inverse. This subroutine is called by do_words to error check and set l_w_type flags for SPECIAL_INVERSE words.

  6. In l_init.c, added the allocation of a new set of temporary variables to hold compartments/markings: l_t5_compartments, and l_t5_markings.

  7. In l_init.c, changed subroutine check_inverse_words to check new l_w_type SPECIAL_COMPARTMENTS_INVERSE as appropriate.

  8. In std_labels.c, in the subroutine word_forced_on, fixed check of comparison or normal compartment to the minimum compartments.

  9. In std_labels.c, in the subroutine word_forced_on, added check to cause word_forced_on to ignore SPECIAL_INVERSE words.

  10. In std_labels.c, in the subroutine l_parse, added support for SPECIAL_INVERSE words.

  11. In std_labels.c, in the subroutine turnoff_word, added algorithms to deal with the special case of SPECIAL_INVERSE words. In particular, turnoff_word was made recursive.

  12. In std_labels.c, in the subroutine turnon_word, added algorithms to deal with the special case of SPECIAL_INVERSE words.

  13. In std_labels.c, in the subroutine l_valid, added support for SPECIAL_INVERSE words.