void QccErrorAddMessage(const
char *format, ...);
void QccErrorPrintMessages(void);
void QccErrorClearMessages(void);
void QccErrorExit(void);
void QccErrorWarning(const char *format, ...);
void QccErrorAddMessageVA(const char *format, va_list ap);
void QccErrorWarningVA(const
char *format, va_list ap);
QccErrorAddMessage() accepts a format string and a subsequent variable-length argument list in the style of printf(3) ; this format string and argument list are used to assemble an error-message string. The resulting error-message string is stored in a list of error messages, and control is returned to the calling routine. QccErrorAddMessage() uses vsnprintf(3) to generate the error message and the facilities of stdarg(3) to implement the variable-length argument list.
QccErrorPrintMessages() dumps the current list of error messages to stderr. QccErrorPrintMessages() takes care, when possible, to nicely wrap long lines of text onto multiple output lines without splitting words. After the messages are output, the message list maintained by the QccPack library is cleared via a call to QccErrorClearMessages(), and control is returned to the calling routine.
QccErrorClearMessages() removes all messages from the message list maintain by QccPack.
QccErrorExit() calls QccErrorPrintMessages() to dump the current list of messages to stderr and then causes program termination, returning a value of QCCEXIT_ERROR to the parent. QccErrorExit() does not return.
QccErrorWarning() accepts a warning message in the same manner that QccErrorAddMessage() accepts an error message; however, the warning message is written immediately to stderr rather than being stored in a list of messages, as in the case of QccErrorAddMessage(). This is useful to provide the user with important, but noncritical, warning information.
QccErrorAddMessageVA() and QccErrorWarningVA() function indentically to QccErrorAddMessage() and QccErrorWarning(), respectively, except that QccErrorAddMessageVA() and QccErrorWarningVA() can be called from a function whose own argument list contains a variable number of arguments implemented via the variable-length argument facilities of stdarg(3) .