anchor.diff:    INTEGER, PARAMETER :: MODE_WRITE = 1
     INTEGER, PARAMETER :: MODE_APPEND = 2
   
  +  INTEGER, PARAMETER :: MAX_LENGTH_ARCHIVE_NAME = 16
  +
   
   PRIVATE
   
  
positive.code: !  The returend serializer should be destroyed after usage to free resources.
  !  If the serializer object has already been created, it is destroyed first.
  !------------------------------------------------------------------------------
  SUBROUTINE fs_create_serializer(directory, prefix, mode, serializer)
    USE iso_c_binding, ONLY: C_F_POINTER
  
    CHARACTER(LEN=*), INTENT(IN)    :: directory, prefix
    CHARACTER, INTENT(IN)           :: mode
    TYPE(t_serializer), INTENT(OUT) :: serializer
  
    ! external functions
  
  
negative.code:     c_mode = MODE_APPEND
    END SELECT
    
    IF (PRESENT(opt_archive)) THEN
      archive = opt_archive
    ELSE
      archive = C_CHAR_"Binary"
    END IF
  
    c_serializer = fs_create_serializer_(c_mode,                       &
                                         TRIM(directory)//C_NULL_CHAR, &
                                         TRIM(prefix)//C_NULL_CHAR,    &
                                         TRIM(archive)//C_NULL_CHAR)
    serializer%serializer_ptr = c_serializer
  
  END SUBROUTINE fs_create_serializer
  