- if (errnum)
- {
-#if defined HAVE_STRERROR_R || _LIBC
- char errbuf[1024];
-# if HAVE_WORKING_STRERROR_R || _LIBC
- fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
-# else
- /* Don't use __strerror_r's return value because on some systems
- (at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
- __strerror_r (errnum, errbuf, sizeof errbuf);
- fprintf (stderr, ": %s", errbuf);
-# endif
-#else
- fprintf (stderr, ": %s", strerror (errnum));
-#endif
- }
- putc ('\n', stderr);
- fflush (stderr);
- if (status)
- exit (status);
+void
+complain_args (location const *loc, warnings w, unsigned *indent,
+ int argc, char *argv[])
+{
+ 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;
+ }