~ubuntu-branches/ubuntu/lucid/rlpr/lucid

« back to all changes in this revision

Viewing changes to lib/error.h

  • Committer: Bazaar Package Importer
  • Author(s): Brian Mays
  • Date: 2002-03-20 11:21:15 UTC
  • Revision ID: james.westby@ubuntu.com-20020320112115-whl7m242ig71nu3h
Tags: upstream-2.02
ImportĀ upstreamĀ versionĀ 2.02

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* error.h -- declaration for error-reporting function
 
2
   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
 
3
 
 
4
   This program is free software; you can redistribute it and/or modify
 
5
   it under the terms of the GNU General Public License as published by
 
6
   the Free Software Foundation; either version 2, or (at your option)
 
7
   any later version.
 
8
 
 
9
   This program is distributed in the hope that it will be useful,
 
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
   GNU General Public License for more details.
 
13
 
 
14
   You should have received a copy of the GNU General Public License
 
15
   along with this program; if not, write to the Free Software Foundation,
 
16
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
17
 
 
18
#ifndef ERROR_H_
 
19
# define ERROR_H_
 
20
 
 
21
# ifndef __attribute__
 
22
/* This feature is available in gcc versions 2.5 and later.  */
 
23
#  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
 
24
#   define __attribute__(Spec) /* empty */
 
25
#  endif
 
26
/* The __-protected variants of `format' and `printf' attributes
 
27
   are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
 
28
#  if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
 
29
#   define __format__ format
 
30
#   define __printf__ printf
 
31
#  endif
 
32
# endif
 
33
 
 
34
# if defined (__STDC__) && __STDC__
 
35
 
 
36
/* Print a message with `fprintf (stderr, FORMAT, ...)';
 
37
   if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
 
38
   If STATUS is nonzero, terminate the program with `exit (STATUS)'.  */
 
39
 
 
40
extern void error (int status, int errnum, const char *format, ...)
 
41
     __attribute__ ((__format__ (__printf__, 3, 4)));
 
42
 
 
43
extern void error_at_line (int status, int errnum, const char *fname,
 
44
                           unsigned int lineno, const char *format, ...)
 
45
     __attribute__ ((__format__ (__printf__, 5, 6)));
 
46
 
 
47
/* If NULL, error will flush stdout, then print on stderr the program
 
48
   name, a colon and a space.  Otherwise, error will call this
 
49
   function without parameters instead.  */
 
50
extern void (*error_print_progname) (void);
 
51
 
 
52
# else
 
53
void error ();
 
54
void error_at_line ();
 
55
extern void (*error_print_progname) ();
 
56
# endif
 
57
 
 
58
/* This variable is incremented each time `error' is called.  */
 
59
extern unsigned int error_message_count;
 
60
 
 
61
/* Sometimes we want to have at most one error per line.  This
 
62
   variable controls whether this mode is selected or not.  */
 
63
extern int error_one_per_line;
 
64
 
 
65
#endif /* not ERROR_H_ */