PURPOSE

gencat - generate a formatted message catalogue

SYNOPSIS

gencat
[-m] catfile msgfile ...

DESCRIPTION

The gencat utility merges the message text source file(s) msgfile into a formatted message database catfile. The database catfile will be created if it does not already exist. If catfile does exist its messages will be included in the new catfile. If set and message numbers collide, the new message-text defined in msgfile will replace the old message text currently contained in catfile. The message text source file (or set of files) input to gencat can contain either set and message numbers or simply message numbers, in which case the set NL_SETD [see nl_types(5)] is assumed.

The format of a message text source file is defined in the list below. Note that the fields of a message text source line are separated by a single ASCII space or tab character. Any other ASCII spaces or tabs are considered to be part of the subsequent field.

$set n comment
Where n specifies the set identifier of the following messages until the next $set, $delset or end-of-file appears. n must be a number in the range (1-{NL_SETMAX}). Set identifiers within a single source file need not be contiguous. Any string following the set identifier is treated as a comment. If no $set directive is specified in a message text source file, all messages will be located in the default message set. NL_SETD.
$delset n comment
Deletes message set n from an existing message catalogue. Any string following the set number is treated as a comment. (Note: if n is not a valid set it is ignored.)
$ comment
A line beginning with a dollar symbol $ followed by an ASCII space or tab character is treated as a comment.
m message-text
The m denotes the message identifier, which is a number in the range (1-{NL_MSGMAX}). (Do not confuse this message text syntax with the -m command line option described under NOTES) The message-text is stored in the message catalogue with the set identifier specified by the last $set directive, and with message identifier m. If the message-text is empty, and an ASCII space or tab field separator is present, an empty string is stored in the message catalogue. If a message source line has a message number, but neither a field separator nor message-text, the existing message with that number (if any) is deleted from the catalogue. Message identifiers need not be contiguous. The length of message-text must be in the range (0-{NL_TEXTMAX}).
$quote c
This line specifies an optional quote character c, which can be used to surround message-text so that trailing spaces or null (empty) messages are visible in a message source line. By default, or if an empty $quote directive is supplied, no quoting of message-text will be recognized. Empty lines in a message text source file are ignored. Text strings can contain the special characters and escape sequences defined in the following table:
Description Symbol Sequence
newline NL(LF) \n
horizontal tab HT \t
vertical tab VT \v
backspace BS \b
carriage return CR \r
form feed FF \f
backslash \ \\
bit pattern ddd \ddd

The escape sequence \ddd consists of backslash followed by 1, 2 or 3 octal digits, which are taken to specify the value of the desired character. If the character following a backslash is not one of those specified, the backslash is ignored.

Backslash followed by an ASCII newline character is also used to continue a string on the following line. Thus, the following two lines describe a single message string: 1 This line continues \ to the next line

which is equivalent to: 1 This line continues to the next line

PORTABILITY

gencat is supported as a TUXEDO System/T-supplied tool on UNIX and MS-DOS operating systems.

NOTICES

This version of gencat produces a catalog that at run-time is read into malloc'ed space. Shared catalogs available with some versions of gencat are not available. On some systems, generation of malloc'ed catalogs requires that the -m option be specified. This option can be specified on the command line, but has no effect. malloc'ed catalogs are the default; the -m option is supported for compatibility only.

The catalog file generated by this command is limited in size to 64K. Larger catalog files will result in an error being reported by this command and no catalog file being generated.

SEE ALSO


nl_types(5)