pfmt -- display error message in standard format


pfmt [-l label][-s severity][-g catalog:msgid] format [args]


pfmt uses format for printf style formatting of args. pfmt encapsulates the output in the standard error message format and displays it on stderr.

The following options are available.

-l label
Specify the label string to be displayed with the message (for example, ``UX:cat''). label is a character string that is automatically suffixed with a colon ``:''. When unspecified, no label is displayed as part of the message.

-s severity
Specify the severity string to be displayed with the message. Acceptable strings include the standard severities in either their print string (that is, HALT, ERROR, INFO, WARNING, and TO FIX) or keyword (that is, halt, error, info, warn, and action) forms, or any other user-defined string. A user-defined string will be assigned the integer severity value of 5. The severity will be suffixed with a colon ``:''. The ERROR severity will be used if no severity is specified.

The keywords and definitions of the standard levels of severity are:

application has encountered a severe fault and is halting

application has detected a fault

application has detected a condition that is out of the ordinary and might be a problem

application is providing information about a condition that is not in error

do not print a severity message

-g catalog:msgid
Specify that a localized version of format should be retrieved from a locale-specific message database. catalog indicates the message database that contains the localized version of the format string. catalog must be limited to 14 characters. These characters must be selected from a set of all characters values, excluding ``\0'' (NULL) or the characters ``/'' (slash) and ``:'' (colon). Message catalogs are created with mkmsgs(CP).

msgid is a positive number that indicates the index of the string into the message database.

If catalog does not exist in the current locale (identified by the LC_MESSAGES or LANG environment variables), or if msgid is out of bounds, pfmt will attempt to retrieve the message from the C locale. If this second retrieval fails, pfmt uses the format string as passed on the command line.

pfmt will output Message not found!!\n as the format string if msgid is not a valid number.

Standard error message format

pfmt displays error messages in the following format:
   label: severity: text

If no label was defined using the -l label option, the message is displayed in the format:

   severity: text

If pfmt is called twice to display an error message and a helpful action or recovery message, the output can look like the following:

   label: severity: text
   label: TO FIX: text


Example 1:
   pfmt -l UX:test -s error "Syntax error\n"

displays the message:

   UX:test: ERROR: Syntax error

Differences between versions

This command is part of the UnixWare packaging tools that are supported only on SCO OpenServer Release 5.0.5a and later releases.


environ(M), mkmsgs(CP), pfmt(S), printf(C)


Upon success, pfmt exits with code 0.

Upon failure, pfmt exits with the following codes:

write error

syntax error

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003