- indent_ptr = indent;
- ERROR_MESSAGE (&loc, NULL, message);
- complaint_issued = true;
-}
-
-void
-complain (const char *message, ...)
-{
- ERROR_MESSAGE (NULL, NULL, message);
- complaint_issued = true;
-}
-
-
-/*--------------------------------------------------------------.
-| An incompatibility with POSIX Yacc: mapped either to warn* or |
-| complain* depending on yacc_flag. |
-`--------------------------------------------------------------*/
-
-void
-yacc_at (location loc, const char *message, ...)
-{
- if (yacc_flag)
- {
- ERROR_MESSAGE (&loc, NULL, message);
- complaint_issued = true;
- }
- else if (warnings_flag & warnings_yacc)
- {
- set_warning_issued ();
- ERROR_MESSAGE (&loc, _("warning"), message);
- }
-}
-
-void
-midrule_value_at (location loc, const char *message, ...)
-{
- if (!(warnings_flag & warnings_midrule_values))
- return;
- set_warning_issued ();
- ERROR_MESSAGE (&loc, _("warning"), message);
-}
-
-/*-------------------------------------------------.
-| A severe error has occurred, we cannot proceed. |
-`-------------------------------------------------*/
-
-void
-fatal_at (location loc, const char *message, ...)
-{
- ERROR_MESSAGE (&loc, _("fatal error"), message);
- exit (EXIT_FAILURE);
-}
-
-void
-fatal (const char *message, ...)
-{
- ERROR_MESSAGE (NULL, _("fatal error"), message);
- exit (EXIT_FAILURE);
+ switch (argc)
+ {
+ case 1:
+ complain_indent (loc, w, indent, "%s", _(argv[0]));
+ break;
+ case 2:
+ complain_indent (loc, w, indent, _(argv[0]), argv[1]);
+ break;
+ case 3:
+ complain_indent (loc, w, indent, _(argv[0]), argv[1], argv[2]);
+ break;
+ case 4:
+ complain_indent (loc, w, indent, _(argv[0]), argv[1], argv[2], argv[3]);
+ break;
+ case 5:
+ complain_indent (loc, w, indent, _(argv[0]), argv[1], argv[2], argv[3],
+ argv[4]);
+ break;
+ default:
+ complain (loc, fatal, "too many arguments for complains");
+ break;
+ }