const char *im_error_buffer( void )
void im_verror( const char *domain, const char *fmt, va_list ap )
void im_error( const char *domain, const char *fmt, ... )
void im_error_system( int errno, const char *domain, const char *fmt, ... )
void im_error_clear()
void im_warn( const char *domain, const char *fmt, ... )
void im_diag( const char *domain, const char *fmt, ... )
void error_exit( const char *fmt, ... )
For example, the call:
im_error( "mystuff", _( "bad argument %d" ), a );
might appear in the error buffer as:
mystuff: bad argument 12
im_verror(3) works exactly as im_error(3) but takes stdarg arguments.
im_error_system(3) works exactly as im_error(3) but additionally will translate and append a system error code.
im_error_buffer(3) returns a pointer to the start of the error buffer.
im_error_clear(3) empties the error buffer.
error_exit(3) formats its arguments as printf and sends the result to the error output, together with the contents of the error log, before terminating with an error status.
im_warn(3) works as im_error(), but output is sent to the list of warnings.
If an environment variable IM_WARNING exists, messages are suppressed. Warnings should be used for non-critical recoverable errors such as values being clipped.
im_diag(3) works as im_error(), but output is sent to the list of diagnosic errors.
If an environment variable IM_DIAGNOSTICS exists, messages are suppressed. Diagnostics should be used to give extra feedback about the result of the operation.