# CHAPTER 5: Empress System Variables

Empress provides system variables to give each user control over the Empress environment. The system variables are used to set such things as the number of spaces between columns in the output from a `SELECT` statement, the system editor, the attribute separator in a dump file, and so on. A list of these follows, and then a brief description of each. These variables all have system defaults. They may be reset with the Query Language or in the operating system.

Table 5-1: Empress F77 Interface System Variables

Fortran Interface | Function
`MSF77BUFCOPY` | Flags the need to copy Fortran strings to auxiliary buffers.
`MSF77IGNORELENGTH` | Set to ignore the length of passing Fortran character strings.
`MSF77TERMCHAR` | Gives character to terminate a Fortran string, in place of ASCII(0).
`MSF99BUFCOPY` | Flags the need to copy Fortran strings to auxiliary buffers.
`MSF99IGNORELENGTH` | Set to ignore the length of passing Fortran character strings.
`MSF99TERMCHAR` | Gives character to terminate a Fortran string, in place of ASCII(0).

MSF77BUFCOPY and MSF99BUFCOPY

`MSF77BUFCOPY` is one of three variables that govern the Empress Fortran Interface's handling of Fortran character strings. When set, it requires Empress to copy Fortran constants to an internal buffer, so that they can be modified without the risk of memory violation.

`MSF77BUFCOPY` is preset for the given system, and should not be changed by the user.

`MSF99BUFCOPY` is used for Fortran 99 Standard.

MSF77IGNORELENGTH and MSF99IGNORELENGTH

`MSF77IGNORELENGTH` is one of three variables that govern the Empress Fortran Interface's handling of Fortran character strings. When set, trailing spaces are kept as Fortran strings are passed to Empress. If not set, trailing spaces are trimmed off.

Whether `MSF77IGNORELENGTH` is set depends on how the Fortran compiler in use handles the null (0) character. It is preset for the given system, and should not be changed by the user.

`MSF99IGNORELENGTH` is used for Fortran 99 Standard.

MSF77TERMCHAR and MSF99TERMCHAR

`MSF77TERMCHAR` is one of three variables that govern the Empress Fortran Interface's handling of Fortran character strings. It is used instead of `MSF77IGNORELENGTH` for Fortran compilers that do not recognize the convention "`\0`" to mean null (0). It sets an alternate character to be recognized as equivalent to null. It may be set by the user in the environment, and defaults to @.

`MSF99TERMCHAR` is used for Fortran 99 Standard.