/*====================================================================*
*
* signed extra (signed status, errno_t number, int argc, char const * arg []);
*
* error.h
*
* print error message plus excess argments on stdout;
*
* Motley Tools by Charles Maier <cmaier@cmassoc.net>;
* Copyright (c) 2001-2006 by Charles Maier Associates;
* Licensed under the Internet Software Consortium License;
*
*--------------------------------------------------------------------*/
#ifndef EXTRA_SOURCE
#define EXTRA_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include "../tools/types.h"
#include "../tools/error.h"
signed extra (signed status, errno_t number, int argc, char const * argv [])
{
extern char const *program_name;
if ((program_name) && (*program_name))
{
fprintf (stderr, "%s: ", program_name);
}
if (number)
{
fprintf (stderr, "%s: ", strerror (number));
}
fprintf (stderr, "Excess data: ");
while ((argc) && (* argv))
{
fprintf (stderr, "%s ", * argv);
argv++;
argc--;
}
fprintf (stderr, "\n");
fflush (stderr);
if (status)
{
exit (status);
}
return (-1);
}
#endif