summaryrefslogtreecommitdiff
path: root/src/stderr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stderr.c')
-rw-r--r--src/stderr.c90
1 files changed, 0 insertions, 90 deletions
diff --git a/src/stderr.c b/src/stderr.c
deleted file mode 100644
index 3f00dd50eebb..000000000000
--- a/src/stderr.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Provides a useful variable-length argument error handling abstraction.
-
- Copyright (C) 1989 Free Software Foundation, Inc.
- written by Douglas C. Schmidt (schmidt@ics.uci.edu)
-
-This file is part of GNU GPERF.
-
-GNU GPERF is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
-
-GNU GPERF is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU GPERF; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include <stdio.h>
-#include "stderr.h"
-
-/* Holds the name of the currently active program. */
-static char *program_name;
-
-/* Sets name of program. */
-
-void
-set_program_name (prog_name)
- char *prog_name;
-{
- program_name = prog_name;
-}
-
-/* Valid Options (prefixed by '%', as in printf format strings) include:
- 'a': exit the program at this point
- 'c': print a character
- 'd': print a decimal number
- 'e': call the function pointed to by the corresponding argument
- 'f','g': print a double
- 'n': print the name of the program (NULL if not set in constructor or elsewhere)
- 'p': print out the appropriate errno value from sys_errlist
- 's': print out a character string
- '%': print out a single percent sign, '%' */
-
-void
-report_error (va_alist)
- va_dcl
-{
- extern int errno, sys_nerr;
- extern char *sys_errlist[];
- typedef void (*PTF)();
- typedef char *CHARP;
- va_list argp;
- int abort = 0;
- char *format;
-
- va_start (argp);
-
- for (format = va_arg (argp, char *); *format; format++)
- {
- if (*format != '%')
- putc (*format, stderr);
- else
- {
- switch(*++format)
- {
- case '%' : putc ('%', stderr); break;
- case 'a' : abort = 1; break;
- case 'c' : putc (va_arg (argp, int), stderr); break;
- case 'd' : fprintf (stderr, "%d", va_arg (argp, int)); break;
- case 'e' : (*va_arg (argp, PTF))(); break;
- case 'f' : fprintf (stderr, "%g", va_arg (argp, double)); break;
- case 'n' : fputs (program_name ? program_name : "error", stderr); break;
- case 'p' :
- if (errno < sys_nerr)
- fprintf (stderr, "%s: %s", va_arg (argp, CHARP), sys_errlist[errno]);
- else
- fprintf (stderr, "<unknown error> %d", errno);
- break;
- case 's' : fputs (va_arg (argp, CHARP), stderr); break;
- }
- }
- if (abort)
- exit (1);
- }
- va_end (argp);
-}