.I format
in the argument list.
The output is terminated by a newline character.
-
+.PP
The program name printed by
.BR error ()
is the value of the global variable
.IR argv[0] .
The value of this variable can be modified to change the output of
.BR error ().
-
+.PP
If \fIstatus\fP has a nonzero value, then
.BR error ()
calls
.BR exit (3)
to terminate the program using the given value as the exit status.
-
+.PP
The
.BR error_at_line ()
function is exactly the same as
.BR error_at_line (),
but other values can also be used.
For example, these arguments could refer to a location in an input file.
-
+.PP
If the global variable \fIerror_one_per_line\fP is set nonzero,
a sequence of
.BR error_at_line ()
calls with the
same value of \fIfilename\fP and \fIlinenum\fP will result in only
one message (the first) being output.
-
+.PP
The global variable \fIerror_message_count\fP counts the number of
messages that have been output by
.BR error ()
and
.BR error_at_line ().
-
+.PP
If the global variable \fIerror_print_progname\fP
is assigned the address of a function
(i.e., is not NULL), then that function is called
T}
.TE
.ad
-
+.PP
The internal
.I error_one_per_line
variable is accessed (without any form of synchronization, but since it's an